Reimplement permanently-register-io-thread-event for SMPability.
authorMatt Birkholz <puck@birchwood-abbey.net>
Sat, 27 Jun 2015 22:24:45 +0000 (15:24 -0700)
committerMatt Birkholz <puck@birchwood-abbey.net>
Sun, 3 Jan 2016 20:06:11 +0000 (13:06 -0700)
commitd5381b09f98324e2e77f8581ed9872633af2ff21
tree501c721c30432819c1183400ddf230116ee0398c
parentfcabeee36e799a93af51c41bceea13630f955397
Reimplement permanently-register-io-thread-event for SMPability.

Remove permanent tentries (waiting thread entries) from
io-registrations.  Replace them with an event wrapper that loops,
re-registering after the wrapped event finishes.  The loop assumes IO
is being consumed during the event.  If not, it may spin forever.

Remove the notion of registering for the "front" of the queue too.

The X graphics device must take care to de-register its IO event
before closing the display, else the thread system may apply test-
select-registry to a closed descriptor.
src/runtime/thread.scm
src/runtime/x11graph.scm