I'm trying to get some consistent behavior under the command shell and cygwin, tho' without much luck so far. I'd like to know if there's a canonical SIGINT/SIGTERM handling convention for console processes (taking cygwin into account, or barring that for invocations in cmd.exe only).
The important thing for my program is that it perform certain cleanup operations on exit (normally taken care of with a signal handler attached to SIGINT/SIGTERM). Under the cmd.exe, the handler usually gets called when it's installed with signal() or with SetConsoleCtrlHandler (there have been cases where it does not, but I can't reliably reproduce them...). Under bash, however, it looks like the consolectrlhandler never even gets a chance to finish before the process is wiped. Installing with signal() also seems that the process is wiped before the cleanup gets a chance to run. (the handler sets a flag which the main thread uses to determine that it's time to exit). -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/