Add an ignore_status_change parameter to OS_pause for SMP-IDLE.
authorMatt Birkholz <puck@birchwood-abbey.net>
Wed, 15 Jul 2015 10:16:58 +0000 (03:16 -0700)
committerMatt Birkholz <puck@birchwood-abbey.net>
Thu, 26 Nov 2015 08:09:45 +0000 (01:09 -0700)
commit80b4bde91ba1c3cc21bda54580ec41f5fc37fffd
tree05906a5b22b842a1954bc1491ab988a9c29cd9f7
parent6ced0cd9c04e4307a7e851e0d70b042801e40333
Add an ignore_status_change parameter to OS_pause for SMP-IDLE.

OS_pause previously returned immediately if there were pending
interrupts OR subprocess status changes, as required by a blocking
test-select-registry primitive.  That made it useless to the SMP-IDLE
primitive, which spins in the idle loop until the io-waiter (or a
timer interrupt handler) gets around to syncing subprocess statuses.
It will spin too after getting a SIGCHLD until statuses are synced.
src/microcode/ntio.c
src/microcode/os2io.c
src/microcode/osio.h
src/microcode/prosio.c
src/microcode/uxio.c