gtk: Vanquish spinning gtk-thread evil (again).
authorMatt Birkholz <matt@birkholz.chandler.az.us>
Fri, 19 Oct 2012 18:48:59 +0000 (11:48 -0700)
committerMatt Birkholz <matt@birkholz.chandler.az.us>
Fri, 19 Oct 2012 18:48:59 +0000 (11:48 -0700)
commit002091e565f9bc1c9b13c340458969464fb9e735
treeac965767edae6af76e2adfbd0258d5e21262c632
parentab37c4c129dd633c7b0a8fd379854d6ca84a5126
gtk: Vanquish spinning gtk-thread evil (again).

tests/runtime/test-gtk spins like crazy again.  With a gtk-thread
always ready to run and no thread waiting for io, wait-for-io is never
called and maybe-signal-io-thread-events never blocks.  Unfortunately
test-select-registry always returned INTERRUPT for non-blocking
selects with an empty registry.  It needs to return PROCESS-STATUS-
CHANGE when there is a pending process status change so that handle-
subprocess-status-change runs.  Thus OS_pause got a new argument:
blockp.  In uxio.c it can call OS_process_any_status_change and
return PROCESS-STATUS-CHANGE when necessary.
src/microcode/ntio.c
src/microcode/os2io.c
src/microcode/osio.h
src/microcode/prosio.c
src/microcode/uxio.c