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 /perlio.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 'perlio.c')
-rw-r--r-- | perlio.c | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -1279,6 +1279,7 @@ PerlIOUnix_read(PerlIO *f, void *vbuf, Size_t count) PerlIOBase(f)->flags |= PERLIO_F_EOF; return len; } + PERL_ASYNC_CHECK(); } } @@ -1296,6 +1297,7 @@ PerlIOUnix_write(PerlIO *f, const void *vbuf, Size_t count) PerlIOBase(f)->flags |= PERLIO_F_ERROR; return len; } + PERL_ASYNC_CHECK(); } } @@ -1329,6 +1331,7 @@ PerlIOUnix_close(PerlIO *f) code = -1; break; } + PERL_ASYNC_CHECK(); } if (code == 0) { |