diff options
author | Christopher Faylor <me@cgf.cx> | 2006-03-22 04:13:55 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2006-03-22 04:13:55 +0000 |
commit | 70fde4154fc4b24af9abaf0a335f06952698852c (patch) | |
tree | a9d96cb52de50ecc7b1da29dbd20f70829642d5c /winsup/cygwin/sigproc.cc | |
parent | 76ef40d69f3651f01b3e2ffdeb470593d62e04b0 (diff) | |
download | cygnal-70fde4154fc4b24af9abaf0a335f06952698852c.tar.gz cygnal-70fde4154fc4b24af9abaf0a335f06952698852c.tar.bz2 cygnal-70fde4154fc4b24af9abaf0a335f06952698852c.zip |
* signal.cc (signal): Don't set SA_RESTART here.
(siginterrupt): White space.
* sigproc.cc (sigalloc): Set SA_RESTART here, on initialization.
Diffstat (limited to 'winsup/cygwin/sigproc.cc')
-rw-r--r-- | winsup/cygwin/sigproc.cc | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/winsup/cygwin/sigproc.cc b/winsup/cygwin/sigproc.cc index 51c756934..1adbb9f21 100644 --- a/winsup/cygwin/sigproc.cc +++ b/winsup/cygwin/sigproc.cc @@ -113,6 +113,10 @@ sigalloc () cygheap->sigs = global_sigs = (struct sigaction *) ccalloc (HEAP_SIGS, NSIG, sizeof (struct sigaction)); global_sigs[SIGSTOP].sa_flags = SA_RESTART | SA_NODEFER; + for (int i = 0; i < NSIG; i++) + /* SA_RESTART is set to maintain BSD compatible signal behaviour by default. + This is also compatible with the behaviour of signal(2) in Linux. */ + global_sigs[i].sa_flags = SA_RESTART; } void __stdcall |