Fixed channel-open to unblock threads and update the io-registry...
authorMatt Birkholz <matt@birkholz.chandler.az.us>
Mon, 30 Apr 2012 04:04:44 +0000 (21:04 -0700)
committerMatt Birkholz <matt@birkholz.chandler.az.us>
Mon, 30 Apr 2012 04:04:44 +0000 (21:04 -0700)
commit339824bfbb45546075b80dfb2fd27995d6f54954
treeac76585d4c16570f472c452b6b36c0fffb5aa98a
parentac50f9c9e3c74c84ea14461b179d8c23f2cec5c7
Fixed channel-open to unblock threads and update the io-registry...

...using a new procedure: %deregister-io-descriptor.  Also tightened
up channel-read and channel-write to check, within an atomic section,
that the port has not been closed.

If a closed channel is left in the io-registry, wait-for-io piles up
error levels because test-select-registry returns an "illegal mode".
src/runtime/io.scm
src/runtime/runtime.pkg
src/runtime/thread.scm