Wed Jul 08 00:57:23 2015: Request 102709 was acted upon. Transaction: Correspondence added by ZDM Queue: PAR-Packer Subject: Unable to handle SIG interrupts Broken in: (no value) Severity: (no value) Owner: Nobody Requestors: gab...@gmail.com Status: open Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=102709 >
On Mon Jul 06 05:35:18 2015, RSCHUPP wrote: > On 2015-07-06 01:18:54, ZDM wrote: > > Do you see the patch code? > > Yes. Please use a unified diff next time. > > > 1. It is only for windows. > > This restriction isn't in your patch (or I can't tell from your patch > because of > missing context, see above). > > > 2. It solves the problem completely. It prevent parent process to > > exit > > by SIGINT. When CTRL+C pressed - windows send SIGINT to process > > group. > > Can you cite some reference for this, preferably from MSDN. > > Also, why do you re-arm the signal handler - no modern system should > need that, > you should use sigaction anyway. > > Cheers, Roderich Here is the more correct solution and simple: # include <signal.h> signal(SIGINT, SIG_IGN); 1. Previously signal was re-armed in handler, because signal call drop handler to the default. This is not needed if we use SIG_IGN; 2. sigaction is too complex and not needed if we just want to ignore signal; 3. About CTRL+C under windows: https://msdn.microsoft.com/en-us/library/windows/desktop/ms682541%28v=vs.85%29.aspx By default, these signals are passed to all console processes that are attached to the console. (Detached processes are not affected.)