Paul Smith wrote:
What I'm considering is enhancing the EINTRLOOP etc. macros that I have added across the code to check all system calls for EINTR and restart them, so that this macro also checks to see if a signal has been received and if so, calls a handler function. For almost all signals this is just die() although of course for SIGCHLD we need something different. This seems like a straightforward way to quickly detect signals without a lot of code churn.
I hope this will improve the situation on Windows where pressing ^C during make (even a 'make -n') will many times just cause make to hang. It seems another ^C will cause the 'SetConsoleCtrlHandler()' to simply create another thread that does nothing. -- --gv