@@ -164,6 +164,9 @@ static RETSIGTYPE sig_winch SIGPROTOARG;
164164#if defined(SIGINT )
165165static RETSIGTYPE catch_sigint SIGPROTOARG ;
166166#endif
167+ #if defined(SIGUSR1 )
168+ static RETSIGTYPE catch_sigusr1 SIGPROTOARG ;
169+ #endif
167170#if defined(SIGPWR )
168171static RETSIGTYPE catch_sigpwr SIGPROTOARG ;
169172#endif
@@ -297,7 +300,7 @@ static struct signalinfo
297300 {SIGXFSZ , "XFSZ" , TRUE},
298301#endif
299302#ifdef SIGUSR1
300- {SIGUSR1 , "USR1" , TRUE },
303+ {SIGUSR1 , "USR1" , FALSE },
301304#endif
302305#if defined(SIGUSR2 ) && !defined (FEAT_SYSMOUSE )
303306 // Used for sysmouse handling
@@ -837,6 +840,17 @@ catch_sigint SIGDEFARG(sigarg)
837840}
838841#endif
839842
843+ #if defined(SIGUSR1 )
844+ static RETSIGTYPE
845+ catch_sigusr1 SIGDEFARG (sigarg )
846+ {
847+ // this is not required on all systems, but it doesn't hurt anybody
848+ signal (SIGUSR1 , (RETSIGTYPE (* )())catch_sigusr1 );
849+ got_sigusr1 = TRUE;
850+ SIGRETURN ;
851+ }
852+ #endif
853+
840854#if defined(SIGPWR )
841855 static RETSIGTYPE
842856catch_sigpwr SIGDEFARG (sigarg )
@@ -1323,29 +1337,36 @@ set_signals(void)
13231337#if defined(SIGCONT )
13241338 signal (SIGCONT , sigcont_handler );
13251339#endif
1340+ #ifdef SIGPIPE
13261341 /*
13271342 * We want to ignore breaking of PIPEs.
13281343 */
1329- #ifdef SIGPIPE
13301344 signal (SIGPIPE , SIG_IGN );
13311345#endif
13321346
13331347#ifdef SIGINT
13341348 catch_int_signal ();
13351349#endif
13361350
1351+ #ifdef SIGUSR1
1352+ /*
1353+ * Call user's handler on SIGUSR1
1354+ */
1355+ signal (SIGUSR1 , (RETSIGTYPE (* )())catch_sigusr1 );
1356+ #endif
1357+
13371358 /*
13381359 * Ignore alarm signals (Perl's alarm() generates it).
13391360 */
13401361#ifdef SIGALRM
13411362 signal (SIGALRM , SIG_IGN );
13421363#endif
13431364
1365+ #ifdef SIGPWR
13441366 /*
13451367 * Catch SIGPWR (power failure?) to preserve the swap files, so that no
13461368 * work will be lost.
13471369 */
1348- #ifdef SIGPWR
13491370 signal (SIGPWR , (RETSIGTYPE (* )())catch_sigpwr );
13501371#endif
13511372
0 commit comments