diff options
author | Bill Paul <wpaul@FreeBSD.org> | 1998-06-04 15:11:32 +0000 |
---|---|---|
committer | Bill Paul <wpaul@FreeBSD.org> | 1998-06-04 15:11:32 +0000 |
commit | 7d1c23760d1e7f83a78b10ba64220ff8e0d974b9 (patch) | |
tree | 32be65d961b18eb40c1106906c187c333c7618dd /usr.sbin/rpc.yppasswdd/yppasswdd_server.c | |
parent | 4460041351dbbff71efdce69396ca40442ee7bf2 (diff) | |
download | src-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.c | 7 |
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; } |