aboutsummaryrefslogtreecommitdiff
path: root/usr.sbin/rpc.yppasswdd/yppasswdd_server.c
diff options
context:
space:
mode:
authorBill Paul <wpaul@FreeBSD.org>1998-06-04 15:11:32 +0000
committerBill Paul <wpaul@FreeBSD.org>1998-06-04 15:11:32 +0000
commit7d1c23760d1e7f83a78b10ba64220ff8e0d974b9 (patch)
tree32be65d961b18eb40c1106906c187c333c7618dd /usr.sbin/rpc.yppasswdd/yppasswdd_server.c
parent4460041351dbbff71efdce69396ca40442ee7bf2 (diff)
downloadsrc-7d1c23760d1e7f83a78b10ba64220ff8e0d974b9.tar.gz
src-7d1c23760d1e7f83a78b10ba64220ff8e0d974b9.zip
Protect errno in signal handlers, like in portmap.
Notes
Notes: svn path=/head/; revision=36639
Diffstat (limited to 'usr.sbin/rpc.yppasswdd/yppasswdd_server.c')
-rw-r--r--usr.sbin/rpc.yppasswdd/yppasswdd_server.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/usr.sbin/rpc.yppasswdd/yppasswdd_server.c b/usr.sbin/rpc.yppasswdd/yppasswdd_server.c
index f41cce23f0e4..5f57ce83951d 100644
--- a/usr.sbin/rpc.yppasswdd/yppasswdd_server.c
+++ b/usr.sbin/rpc.yppasswdd/yppasswdd_server.c
@@ -32,7 +32,7 @@
#ifndef lint
static const char rcsid[] =
- "$Id$";
+ "$Id: yppasswdd_server.c,v 1.14 1997/10/13 11:18:53 charnier Exp $";
#endif /* not lint */
#include <stdio.h>
@@ -70,6 +70,9 @@ void reaper(sig)
extern pid_t pid;
extern int pstat;
int st;
+ int saved_errno;
+
+ saved_errno = errno;
if (sig > 0) {
if (sig == SIGCHLD)
@@ -77,6 +80,8 @@ void reaper(sig)
} else {
pid = waitpid(pid, &pstat, 0);
}
+
+ errno = saved_errno;
return;
}