Rune - Syscall work, stabilization
* Fix bug in threadSleep*() where ms == 0 was not doing an indefinite
sleep. Mainly for WCHAN sleeping.
* Fix bug in EmitRAS_SemanticEnter() where LVALUE scope was being ignored,
causing the zeroing code to overflow the type.
* Fix bug in GenAllocReturnBase() where the data storage status was not
being properly set, resulting in a lock count mismatch.
* Remove some debugging, convert other debugging from stdout to stderr.
* Add a bunch of fd-related system calls. Also change ('fix') the default
behavior for read() and write() to use non-blocking I/O, loop internally
if necessary, and also handle EINTR restarts.
* Greatly simplify the Syscall structure. We no longer use sc_RetType
or sc_Args so get rid of them.
* Remove File.fgets(), add File.fgetln(). Also add File.fgetbuf()
which is similar to fgetln() in avoiding copies, but operates on
the whole buffer when possible instead of line-by-line.
* Fix fread(), fwrite(), and related stdio functions to work properly
with non-blocking I/O and EINTR.
22 files changed: