Throughout, eliminate argument to sig_dispatch_pending.
* exceptions.cc (setup_handler): Move non-interruptible condition handling (back) to wait_sig (as suggested by Pierre Humblet). (set_process_mask): Don't worry about calling sig_dispatch_pending from sigthread since it is detected in the function anyway. (sig_handle): Eliminate thisproc arg. Don't call sig_dispatch_pending on SIGCONT since that should happen automatically. * sigproc.cc (sig_dispatch_pending): Eliminate justwake argument. Just return when called from sigthread. (wait_sig): Change some variables to bool. Change inner while to an if. Move uninterruptible signal handling here. (sigproc_terminate): Don't call sig_dispatch_pending. Just increment semaphore on exit. * speclib: Use slightly different (but still flawed) method for determining symbols to extract from libraries.
This commit is contained in:
		| @@ -98,10 +98,10 @@ extern HANDLE signal_arrived; | ||||
| extern HANDLE sigCONT; | ||||
|  | ||||
| BOOL __stdcall my_parent_is_alive (); | ||||
| extern "C" int __stdcall sig_dispatch_pending (int force = FALSE); | ||||
| extern "C" int __stdcall sig_dispatch_pending (); | ||||
| extern "C" void __stdcall set_process_mask (sigset_t newmask); | ||||
| extern "C" void __stdcall reset_signal_arrived (); | ||||
| int __stdcall sig_handle (int, bool); | ||||
| int __stdcall sig_handle (int); | ||||
| void __stdcall sig_clear (int); | ||||
| void __stdcall sig_set_pending (int); | ||||
| int __stdcall handle_sigsuspend (sigset_t); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user