nanogui: Thread: fixed, fixed, ELKS bugs are all fixed


[<<] [<] Page 1 of 1 [>] [>>]
Subject: fixed, fixed, ELKS bugs are all fixed
From: Greg Haerr ####@####.####
Date: 14 Jul 1999 16:49:18 -0000
Message-Id: <01BECDE6.1D213400.greg@censoft.com>

Al,
	I've now fixed the select() bug in ELKS, and, since MicroWindows
now runs on my system, have also fixed the mouse down bug for window moves
in MicroWindows.  In addition, other changes to the kernel are proposed,
for better debugging.

	Last night I spent some time really getting to know the ELKS
kernel, and decided that I'd take a crack at the select() problem.  In the mean
time, I cross-compiled bcc, as86, and ld86, and made all of them run under
elksemu, and they work, although there are problems.  I have some binaries
to play with...

	So, I figured the problem must be in tty_select(), since that's the
only select routine called.  Upon further inspection, looking at the SEL_IN case,
the only routine called was chq_peek().  Lo and behold, chq_peek returns 0
if there's no data, otherwise it returns the next character.  And that's the bug.
Your mouse works because it never emits a zero byte.  Any mouse, like
mine, and Thomas's, that send a zero byte will cause chq_peek() to return
0 on that byte, and select won't work right thereafter.  A fix is attached in the next
email.

	Next, the bug with MicroWindows is that the bcc compiler doesn't
support pass-by-structure properly. (My bcc bug list is growing by the minute,
as it won't compile itself without some changes, more on that later)  So,
I have a fix on that, I'll send in the next email.  Bcc was computing the x,y
location wrong for a POINT data structure, which was two shorts.  MSC
passes two shorts like a long, and BCC calls memcpy(), which still
doesn't work.

	Finally, I am also on a quest to reduce kernel size.  My rewrite
of dircon.c added functionality and reduced size by 400 bytes.  But the 
problem is that size86 doesn't work well with ELKS *.o files.  The bug
is that sched.h uses a .comm variable tasks[], that every ELKS kernel
file includes, thus giving the *wrong* size.  So, I'm attaching that
bug fix as well, and everyone can run size86 *.o to see how big
there files are...

Greg
[<<] [<] Page 1 of 1 [>] [>>]


Powered by ezmlm-browse 0.20.