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>
Thu, 26 Nov 2015 07:59:18 +0000 (00:59 -0700)
commit32ff1b9b2d9bb5211623df152b2e202edad456b5
tree2cb30699e42fa07c12a44033adc9d7025a673e03
parentbe07e0c208d26d633d6f3e62fde6a4e23c5e950e
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