]> andersk Git - openssh.git/commitdiff
- (djm) Use SA_INTERRUPT along SA_RESTART if present (equivalent for
authordjm <djm>
Sun, 18 Feb 2001 02:04:23 +0000 (02:04 +0000)
committerdjm <djm>
Sun, 18 Feb 2001 02:04:23 +0000 (02:04 +0000)
   SunOS)

ChangeLog
misc.c
scp.c

index 6bb393e483f97cdcf7f1d4f1c9de5c76e7ac6074..5308ed1e6219dbcda5c00d91ab3f2578cd03ec90 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -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:
diff --git a/misc.c b/misc.c
index 47de8735d3380d6b420c76d6e80cc417438f21e0..4ec5d55fff67d2e73681dfca3a7f60b156df0d62 100644 (file)
--- a/misc.c
+++ b/misc.c
@@ -111,6 +111,10 @@ mysignal(int sig, mysig_t act)
 #ifdef SA_RESTART
                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)
diff --git a/scp.c b/scp.c
index 268643b518e098c1676c420e8153e4dbd179c090..834deb69a7f652dd84a52b98f2b0a09115af2670 100644 (file)
--- a/scp.c
+++ b/scp.c
@@ -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);
This page took 0.18144 seconds and 5 git commands to generate.