svn commit: r199205 - head/bin/sh
Jilles Tjoelker
jilles at FreeBSD.org
Wed Nov 11 23:13:26 UTC 2009
Author: jilles
Date: Wed Nov 11 23:13:24 2009
New Revision: 199205
URL: http://svn.freebsd.org/changeset/base/199205
Log:
sh: Use sigaction instead of signal/siginterrupt combination.
Modified:
head/bin/sh/trap.c
Modified: head/bin/sh/trap.c
==============================================================================
--- head/bin/sh/trap.c Wed Nov 11 22:37:17 2009 (r199204)
+++ head/bin/sh/trap.c Wed Nov 11 23:13:24 2009 (r199205)
@@ -244,7 +244,8 @@ void
setsignal(int signo)
{
int action;
- sig_t sig, sigact = SIG_DFL;
+ sig_t sigact = SIG_DFL;
+ struct sigaction sa;
char *t;
if ((t = trap[signo]) == NULL)
@@ -320,9 +321,10 @@ setsignal(int signo)
case S_IGN: sigact = SIG_IGN; break;
}
*t = action;
- sig = signal(signo, sigact);
- if (sig != SIG_ERR && action == S_CATCH)
- siginterrupt(signo, 1);
+ sa.sa_handler = sigact;
+ sa.sa_flags = 0;
+ sigemptyset(&sa.sa_mask);
+ sigaction(signo, &sa, NULL);
}
More information about the svn-src-all
mailing list