summaryrefslogtreecommitdiffstats
path: root/lib/libc_r/uthread
diff options
context:
space:
mode:
authordeischen <deischen@FreeBSD.org>2002-09-30 08:47:42 +0000
committerdeischen <deischen@FreeBSD.org>2002-09-30 08:47:42 +0000
commitbd82e84c3032f6c9073ae0a3b53df5c3ac9a24b5 (patch)
treeafc6b3b7e5850631a6f6b0bd05165e3d9979cedc /lib/libc_r/uthread
parent02a0f0a003f7befdf2f0a7eaf43cb5b8b180959b (diff)
downloadFreeBSD-src-bd82e84c3032f6c9073ae0a3b53df5c3ac9a24b5.zip
FreeBSD-src-bd82e84c3032f6c9073ae0a3b53df5c3ac9a24b5.tar.gz
Install library-installed signal handlers with the SA_RESTART flag
set.
Diffstat (limited to 'lib/libc_r/uthread')
-rw-r--r--lib/libc_r/uthread/uthread_init.c2
-rw-r--r--lib/libc_r/uthread/uthread_sigaction.c2
-rw-r--r--lib/libc_r/uthread/uthread_sigwait.c2
3 files changed, 3 insertions, 3 deletions
diff --git a/lib/libc_r/uthread/uthread_init.c b/lib/libc_r/uthread/uthread_init.c
index 74db740..fd4aef4 100644
--- a/lib/libc_r/uthread/uthread_init.c
+++ b/lib/libc_r/uthread/uthread_init.c
@@ -376,7 +376,7 @@ _thread_init(void)
/* Initialise the global signal action structure: */
sigfillset(&act.sa_mask);
act.sa_handler = (void (*) ()) _thread_sig_handler;
- act.sa_flags = SA_SIGINFO | SA_ONSTACK;
+ act.sa_flags = SA_SIGINFO | SA_RESTART;
/* Clear pending signals for the process: */
sigemptyset(&_process_sigpending);
diff --git a/lib/libc_r/uthread/uthread_sigaction.c b/lib/libc_r/uthread/uthread_sigaction.c
index 2be587c..a476542 100644
--- a/lib/libc_r/uthread/uthread_sigaction.c
+++ b/lib/libc_r/uthread/uthread_sigaction.c
@@ -84,7 +84,7 @@ _sigaction(int sig, const struct sigaction * act, struct sigaction * oact)
* handler arguments.
*/
sigfillset(&gact.sa_mask);
- gact.sa_flags = SA_SIGINFO | SA_ONSTACK;
+ gact.sa_flags = SA_SIGINFO | SA_RESTART;
/*
* Check if the signal handler is being set to
diff --git a/lib/libc_r/uthread/uthread_sigwait.c b/lib/libc_r/uthread/uthread_sigwait.c
index 1e87249..a3da75f 100644
--- a/lib/libc_r/uthread/uthread_sigwait.c
+++ b/lib/libc_r/uthread/uthread_sigwait.c
@@ -54,7 +54,7 @@ _sigwait(const sigset_t *set, int *sig)
* Specify the thread kernel signal handler.
*/
act.sa_handler = (void (*) ()) _thread_sig_handler;
- act.sa_flags = SA_RESTART | SA_SIGINFO;
+ act.sa_flags = SA_SIGINFO | SA_RESTART;
/* Ensure the signal handler cannot be interrupted by other signals: */
sigfillset(&act.sa_mask);
OpenPOWER on IntegriCloud