Use the parked pthread to run global signal_handlers

We need to wrap the futex call in a loop so that when the signal handlers
return, they will go back to sleep.