summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTheo de Raadt <deraadt@cvs.openbsd.org>2001-01-16 09:26:09 +0000
committerTheo de Raadt <deraadt@cvs.openbsd.org>2001-01-16 09:26:09 +0000
commit6f36a51ecc63fe3d7e3852fadd9daeabb675778f (patch)
tree00c6f45642a816009b18ead7e0f1de1693891e2b
parentdef31bf5effc9d79f00423ae3d171375848dfc45 (diff)
do not trash errno in signal handler
-rw-r--r--usr.sbin/pppoe/pppoe.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/usr.sbin/pppoe/pppoe.c b/usr.sbin/pppoe/pppoe.c
index ab1e89a0efd..35740a131fe 100644
--- a/usr.sbin/pppoe/pppoe.c
+++ b/usr.sbin/pppoe/pppoe.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pppoe.c,v 1.1 2000/06/18 07:30:41 jason Exp $ */
+/* $OpenBSD: pppoe.c,v 1.2 2001/01/16 09:26:08 deraadt Exp $ */
/*
* Copyright (c) 2000 Network Security Technologies, Inc. http://www.netsec.net
@@ -392,9 +392,12 @@ void
child_handler(sig)
int sig;
{
+ int save_errno = errno;
int status;
- while (wait3(&status, WNOHANG, NULL) > 0);
+ while (wait3(&status, WNOHANG, NULL) > 0)
+ ;
+ errno = save_errno;
}
int