aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlukem <lukem@NetBSD.org>2008-01-21 10:31:28 +0000
committerlukem <lukem@NetBSD.org>2008-01-21 10:31:28 +0000
commit9bcc6a6cdce74e3477c876babcaea6ec435e79c9 (patch)
tree06971020583a9ed01ea09129a9e796233684beaa
parent55b8a30049a0797789c8929094bbb074cfd7469d (diff)
downloadbsd-progress-9bcc6a6cdce74e3477c876babcaea6ec435e79c9.tar.gz
bsd-progress-9bcc6a6cdce74e3477c876babcaea6ec435e79c9.tar.zst
bsd-progress-9bcc6a6cdce74e3477c876babcaea6ec435e79c9.zip
Turn off the alarmtimer before resetting the SIGALRM handler back to SIG_DFL.
Fix from dieter roelants <dieter.NetBSD@pandora.be> Should fix PR 35630.
-rw-r--r--progressbar.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/progressbar.c b/progressbar.c
index b9345cf..3f7e8df 100644
--- a/progressbar.c
+++ b/progressbar.c
@@ -1,4 +1,4 @@
-/* $NetBSD: progressbar.c,v 1.17 2007/05/05 18:09:24 martin Exp $ */
+/* $NetBSD: progressbar.c,v 1.18 2008/01/21 10:31:28 lukem Exp $ */
/*-
* Copyright (c) 1997-2007 The NetBSD Foundation, Inc.
@@ -38,7 +38,7 @@
#include <sys/cdefs.h>
#ifndef lint
-__RCSID("$NetBSD: progressbar.c,v 1.17 2007/05/05 18:09:24 martin Exp $");
+__RCSID("$NetBSD: progressbar.c,v 1.18 2008/01/21 10:31:28 lukem Exp $");
#endif /* not lint */
/*
@@ -180,8 +180,8 @@ progressmeter(int flag)
"transfer aborted because stalled for %lu sec.\r\n",
getprogname(), (unsigned long)wait.tv_sec);
(void)write(fileno(ttyout), buf, len);
- (void)xsignal(SIGALRM, SIG_DFL);
alarmtimer(0);
+ (void)xsignal(SIGALRM, SIG_DFL);
siglongjmp(toplevel, 1);
}
#endif /* !STANDALONE_PROGRESS */
@@ -198,8 +198,8 @@ progressmeter(int flag)
(void)xsignal_restart(SIGALRM, updateprogressmeter, 1);
alarmtimer(1); /* set alarm timer for 1 Hz */
} else if (flag == 1) {
- (void)xsignal(SIGALRM, SIG_DFL);
alarmtimer(0);
+ (void)xsignal(SIGALRM, SIG_DFL);
}
}
#ifndef NO_PROGRESS