diff options
author | Damien Miller <djm@mindrot.org> | 2001-02-18 13:04:23 +1100 |
---|---|---|
committer | Damien Miller <djm@mindrot.org> | 2001-02-18 13:04:23 +1100 |
commit | 0318e2e0fb0be94b61f618e92ddd5101d2f06d1a (patch) | |
tree | 6d56e9539e1cbba400d6af6cf6cce5823d2f5318 | |
parent | 8609332558d7130f0e4a71eba8bcad6fdebddcd5 (diff) |
- (djm) Use SA_INTERRUPT along SA_RESTART if present (equivalent for
SunOS)
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | misc.c | 4 | ||||
-rw-r--r-- | scp.c | 6 |
3 files changed, 12 insertions, 2 deletions
@@ -15,6 +15,8 @@ - (djm) Swapped tests for no_libsocket and no_libnsl in configure.in. Patch from Marek Michalkiewicz <marekm@amelek.gda.pl> - (djm) Doc fixes from Pekka Savola <pekkas@netcore.fi> + - (djm) Use SA_INTERRUPT along SA_RESTART if present (equivalent for + SunOS) 20010217 - (bal) OpenBSD Sync: @@ -4022,4 +4024,4 @@ - Wrote replacements for strlcpy and mkdtemp - Released 1.0pre1 -$Id: ChangeLog,v 1.790 2001/02/18 01:58:24 djm Exp $ +$Id: ChangeLog,v 1.791 2001/02/18 02:05:52 djm Exp $ @@ -112,6 +112,10 @@ mysignal(int sig, mysig_t act) if (sig == SIGCHLD) sa.sa_flags |= SA_RESTART; #endif +#ifdef SA_INTERRUPT + if (sig == SIGCHLD) + sa.sa_flags |= SA_INTERRUPT; +#endif sa.sa_handler = act; if (sigaction(sig, &sa, NULL) == -1) return (mysig_t) -1; @@ -1224,8 +1224,12 @@ progressmeter(int flag) struct sigaction sa; sa.sa_handler = updateprogressmeter; sigemptyset((sigset_t *)&sa.sa_mask); + sa.sa_flags = 0; #ifdef SA_RESTART - sa.sa_flags = SA_RESTART; + sa.sa_flags |= SA_RESTART; +#endif +#ifdef SA_INTERRUPT + sa.sa_flags |= SA_INTERRUPT; #endif sigaction(SIGALRM, &sa, NULL); alarmtimer(1); |