diff options
author | lukem <lukem@NetBSD.org> | 2008-01-21 10:31:28 +0000 |
---|---|---|
committer | lukem <lukem@NetBSD.org> | 2008-01-21 10:31:28 +0000 |
commit | 9bcc6a6cdce74e3477c876babcaea6ec435e79c9 (patch) | |
tree | 06971020583a9ed01ea09129a9e796233684beaa | |
parent | 55b8a30049a0797789c8929094bbb074cfd7469d (diff) | |
download | bsd-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.c | 8 |
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 |