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); } _______________________________________________ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"