Add an ignore_status_change parameter to OS_pause for SMP-IDLE.
authorMatt Birkholz <puck@birchwood-abbey.net>
Tue, 5 Jan 2016 22:40:55 +0000 (15:40 -0700)
committerMatt Birkholz <puck@birchwood-abbey.net>
Tue, 5 Jan 2016 22:40:55 +0000 (15:40 -0700)
commit60ed70f40b279fb64866846b13b819ab600450d5
tree4f51342328f31e6b6500796f488bfd202507cfc4
parent5f77879e2b9610f77082e853cdc619617167b909
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