From 70fde4154fc4b24af9abaf0a335f06952698852c Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Wed, 22 Mar 2006 04:13:55 +0000 Subject: * signal.cc (signal): Don't set SA_RESTART here. (siginterrupt): White space. * sigproc.cc (sigalloc): Set SA_RESTART here, on initialization. --- winsup/cygwin/sigproc.cc | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'winsup/cygwin/sigproc.cc') 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 -- cgit v1.2.3