]> andersk Git - openssh.git/commitdiff
- stevesk@cvs.openbsd.org 2001/08/06 19:47:05
authormouring <mouring>
Mon, 6 Aug 2001 22:48:19 +0000 (22:48 +0000)
committermouring <mouring>
Mon, 6 Aug 2001 22:48:19 +0000 (22:48 +0000)
     [scp.c]
     use alarm vs. setitimer for portable; ok markus@

ChangeLog
scp.c

index 153e3848e69b55f7029c0a13d620b25666394e9b..8220ec28265b37cc6d962627d961bc845d97ca27 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
    - markus@cvs.openbsd.org 2001/08/05 23:29:58
      [ssh-keyscan.c]
      make -t dsa work with commercial servers, too
+   - stevesk@cvs.openbsd.org 2001/08/06 19:47:05
+     [scp.c]
+     use alarm vs. setitimer for portable; ok markus@
 
 20010803
  - (djm) Fix interrupted read in entropy gatherer. Spotted by markus@ on
diff --git a/scp.c b/scp.c
index 71fa299db4abd7316408f68d2069165af1839ed9..4708f0ed4a178dc81c5741a05527dca9c40f0a99 100644 (file)
--- a/scp.c
+++ b/scp.c
@@ -75,7 +75,7 @@
  */
 
 #include "includes.h"
-RCSID("$OpenBSD: scp.c,v 1.78 2001/07/27 17:26:16 deraadt Exp $");
+RCSID("$OpenBSD: scp.c,v 1.79 2001/08/06 19:47:05 stevesk Exp $");
 
 #include "xmalloc.h"
 #include "atomicio.h"
@@ -91,6 +91,8 @@ char *__progname;
 
 /* For progressmeter() -- number of seconds before xfer considered "stalled" */
 #define STALLTIME      5
+/* alarm() interval for updating progress meter */
+#define PROGRESSTIME   1
 
 /* Progress meter bar */
 #define BAR \
@@ -1064,24 +1066,14 @@ lostconn(signo)
                exit(1);
 }
 
-
-static void
-alarmtimer(int wait)
-{
-       struct itimerval itv;
-
-       itv.it_value.tv_sec = wait;
-       itv.it_value.tv_usec = 0;
-       itv.it_interval = itv.it_value;
-       setitimer(ITIMER_REAL, &itv, NULL);
-}
-
 static void
 updateprogressmeter(int ignore)
 {
        int save_errno = errno;
 
        progressmeter(0);
+       signal(SIGALRM, updateprogressmeter);
+       alarm(PROGRESSTIME);
        errno = save_errno;
 }
 
@@ -1194,9 +1186,9 @@ progressmeter(int flag)
 
        if (flag == -1) {
                mysignal(SIGALRM, updateprogressmeter);
-               alarmtimer(1);
+               alarm(PROGRESSTIME);
        } else if (flag == 1) {
-               alarmtimer(0);
+               alarm(0);
                atomicio(write, fileno(stdout), "\n", 1);
                statbytes = 0;
        }
This page took 0.130235 seconds and 5 git commands to generate.