summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamien Miller <djm@mindrot.org>2001-02-18 13:04:23 +1100
committerDamien Miller <djm@mindrot.org>2001-02-18 13:04:23 +1100
commit0318e2e0fb0be94b61f618e92ddd5101d2f06d1a (patch)
tree6d56e9539e1cbba400d6af6cf6cce5823d2f5318
parent8609332558d7130f0e4a71eba8bcad6fdebddcd5 (diff)
- (djm) Use SA_INTERRUPT along SA_RESTART if present (equivalent for
SunOS)
-rw-r--r--ChangeLog4
-rw-r--r--misc.c4
-rw-r--r--scp.c6
3 files changed, 12 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 3196199c2..43cd0833c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -15,6 +15,8 @@
15 - (djm) Swapped tests for no_libsocket and no_libnsl in configure.in. 15 - (djm) Swapped tests for no_libsocket and no_libnsl in configure.in.
16 Patch from Marek Michalkiewicz <marekm@amelek.gda.pl> 16 Patch from Marek Michalkiewicz <marekm@amelek.gda.pl>
17 - (djm) Doc fixes from Pekka Savola <pekkas@netcore.fi> 17 - (djm) Doc fixes from Pekka Savola <pekkas@netcore.fi>
18 - (djm) Use SA_INTERRUPT along SA_RESTART if present (equivalent for
19 SunOS)
18 20
1920010217 2120010217
20 - (bal) OpenBSD Sync: 22 - (bal) OpenBSD Sync:
@@ -4022,4 +4024,4 @@
4022 - Wrote replacements for strlcpy and mkdtemp 4024 - Wrote replacements for strlcpy and mkdtemp
4023 - Released 1.0pre1 4025 - Released 1.0pre1
4024 4026
4025$Id: ChangeLog,v 1.790 2001/02/18 01:58:24 djm Exp $ 4027$Id: ChangeLog,v 1.791 2001/02/18 02:05:52 djm Exp $
diff --git a/misc.c b/misc.c
index 47de8735d..4ec5d55ff 100644
--- a/misc.c
+++ b/misc.c
@@ -112,6 +112,10 @@ mysignal(int sig, mysig_t act)
112 if (sig == SIGCHLD) 112 if (sig == SIGCHLD)
113 sa.sa_flags |= SA_RESTART; 113 sa.sa_flags |= SA_RESTART;
114#endif 114#endif
115#ifdef SA_INTERRUPT
116 if (sig == SIGCHLD)
117 sa.sa_flags |= SA_INTERRUPT;
118#endif
115 sa.sa_handler = act; 119 sa.sa_handler = act;
116 if (sigaction(sig, &sa, NULL) == -1) 120 if (sigaction(sig, &sa, NULL) == -1)
117 return (mysig_t) -1; 121 return (mysig_t) -1;
diff --git a/scp.c b/scp.c
index 268643b51..834deb69a 100644
--- a/scp.c
+++ b/scp.c
@@ -1224,8 +1224,12 @@ progressmeter(int flag)
1224 struct sigaction sa; 1224 struct sigaction sa;
1225 sa.sa_handler = updateprogressmeter; 1225 sa.sa_handler = updateprogressmeter;
1226 sigemptyset((sigset_t *)&sa.sa_mask); 1226 sigemptyset((sigset_t *)&sa.sa_mask);
1227 sa.sa_flags = 0;
1227#ifdef SA_RESTART 1228#ifdef SA_RESTART
1228 sa.sa_flags = SA_RESTART; 1229 sa.sa_flags |= SA_RESTART;
1230#endif
1231#ifdef SA_INTERRUPT
1232 sa.sa_flags |= SA_INTERRUPT;
1229#endif 1233#endif
1230 sigaction(SIGALRM, &sa, NULL); 1234 sigaction(SIGALRM, &sa, NULL);
1231 alarmtimer(1); 1235 alarmtimer(1);