aboutsummaryrefslogtreecommitdiff
path: root/usr.sbin/yppush
diff options
context:
space:
mode:
authorThomas Quinot <thomas@FreeBSD.org>2005-04-12 15:02:57 +0000
committerThomas Quinot <thomas@FreeBSD.org>2005-04-12 15:02:57 +0000
commitd1ac5c1981a98c481ce451ec942a479c111e0c9d (patch)
tree75f925cafc9174d6e1b3799c455860123bd7ab08 /usr.sbin/yppush
parent74c77551ed2d5aeb1067ca76abb9a04267b71187 (diff)
downloadsrc-d1ac5c1981a98c481ce451ec942a479c111e0c9d.tar.gz
src-d1ac5c1981a98c481ce451ec942a479c111e0c9d.zip
(handler): When exitting upon an abnormal signal, yppush_exit() should not
attempt to clear its pending jobs list, as this could trigger another signal, and cause an infinite recursion. What yppush_exit() tests in order to determine whether to flush pending jobs is the yppush_joblist chained list, so this is what needs to be cleared in that case (not the yppush_jobs counter). Reviewed by: audit@ (no objection) MFC after: 2 weeks
Notes
Notes: svn path=/head/; revision=144950
Diffstat (limited to 'usr.sbin/yppush')
-rw-r--r--usr.sbin/yppush/yppush_main.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/usr.sbin/yppush/yppush_main.c b/usr.sbin/yppush/yppush_main.c
index 9a37a4208c35..951f413c837a 100644
--- a/usr.sbin/yppush/yppush_main.c
+++ b/usr.sbin/yppush/yppush_main.c
@@ -208,7 +208,7 @@ static void
handler(int sig)
{
if (sig == SIGTERM || sig == SIGINT || sig == SIGABRT) {
- yppush_jobs = 0;
+ yppush_joblist = NULL;
yppush_exit(1);
}