summaryrefslogtreecommitdiff
path: root/perlio.c
diff options
context:
space:
mode:
authorNick Ing-Simmons <nik@tiuk.ti.com>2001-01-17 22:41:10 +0000
committerNick Ing-Simmons <nik@tiuk.ti.com>2001-01-17 22:41:10 +0000
commit0a8e0eff0300ee74cef43b18ff11d05a6376450e (patch)
treeb7b923b1cedae412a37ad43239ef3327d1ca1c52 /perlio.c
parent9b5a166df944a05919fc72a0c76a3ff67c30dc35 (diff)
downloadperl-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.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/perlio.c b/perlio.c
index 72efa366c3..61af3760f2 100644
--- a/perlio.c
+++ b/perlio.c
@@ -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)
{