diff options
author | Nick Ing-Simmons <nik@tiuk.ti.com> | 2001-01-17 22:41:10 +0000 |
---|---|---|
committer | Nick Ing-Simmons <nik@tiuk.ti.com> | 2001-01-17 22:41:10 +0000 |
commit | 0a8e0eff0300ee74cef43b18ff11d05a6376450e (patch) | |
tree | b7b923b1cedae412a37ad43239ef3327d1ca1c52 /util.c | |
parent | 9b5a166df944a05919fc72a0c76a3ff67c30dc35 (diff) | |
download | perl-0a8e0eff0300ee74cef43b18ff11d05a6376450e.tar.gz |
"Safe" signals - trial implementation.
gv.c tweaked to zero PL_sig_pend array
perlio.c tweaked to PERL_ASYNC_CHECK() on EINTR
util.c tweaked to not set SA_RESTART to give perlio.c a chance.
Odd thing is that it "works" with PERLIO=stdio as well (linux).
p4raw-id: //depot/perlio@8467
Diffstat (limited to 'util.c')
-rw-r--r-- | util.c | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -2548,8 +2548,10 @@ Perl_rsignal(pTHX_ int signo, Sighandler_t handler) sigemptyset(&act.sa_mask); act.sa_flags = 0; #ifdef SA_RESTART +#if !defined(USE_PERLIO) || defined(PERL_OLD_SIGNALS) act.sa_flags |= SA_RESTART; /* SVR4, 4.3+BSD */ #endif +#endif #ifdef SA_NOCLDWAIT if (signo == SIGCHLD && handler == (Sighandler_t)SIG_IGN) act.sa_flags |= SA_NOCLDWAIT; @@ -2580,8 +2582,10 @@ Perl_rsignal_save(pTHX_ int signo, Sighandler_t handler, Sigsave_t *save) sigemptyset(&act.sa_mask); act.sa_flags = 0; #ifdef SA_RESTART +#if !defined(USE_PERLIO) || defined(PERL_OLD_SIGNALS) act.sa_flags |= SA_RESTART; /* SVR4, 4.3+BSD */ #endif +#endif #ifdef SA_NOCLDWAIT if (signo == SIGCHLD && handler == (Sighandler_t)SIG_IGN) act.sa_flags |= SA_NOCLDWAIT; |