summaryrefslogtreecommitdiff
path: root/libexec/rpc.rstatd
diff options
context:
space:
mode:
authorkstailey <kstailey@cvs.openbsd.org>1997-07-08 20:47:52 +0000
committerkstailey <kstailey@cvs.openbsd.org>1997-07-08 20:47:52 +0000
commit0e531a657606c1bc0f467151e4507567d11911f1 (patch)
tree9231bb3ce5f30060976b8533e376b66b74cd6ed2 /libexec/rpc.rstatd
parent8b272f035deecb6774fcd1f3c791ce37cff818cb (diff)
Don't call exit(0) from rstat_service(). There is a alarm(3) that brings us
down in due time.
Diffstat (limited to 'libexec/rpc.rstatd')
-rw-r--r--libexec/rpc.rstatd/rstat_proc.c17
1 files changed, 7 insertions, 10 deletions
diff --git a/libexec/rpc.rstatd/rstat_proc.c b/libexec/rpc.rstatd/rstat_proc.c
index 5b6e8f2c139..761d75435d1 100644
--- a/libexec/rpc.rstatd/rstat_proc.c
+++ b/libexec/rpc.rstatd/rstat_proc.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: rstat_proc.c,v 1.6 1997/07/08 20:19:35 kstailey Exp $ */
+/* $OpenBSD: rstat_proc.c,v 1.7 1997/07/08 20:47:51 kstailey Exp $ */
/*
* Sun RPC is a product of Sun Microsystems, Inc. and is provided for
@@ -31,7 +31,7 @@
#ifndef lint
/*static char sccsid[] = "from: @(#)rpc.rstatd.c 1.1 86/09/25 Copyr 1984 Sun Micro";*/
/*static char sccsid[] = "from: @(#)rstat_proc.c 2.2 88/08/01 4.0 RPCSRC";*/
-static char rcsid[] = "$OpenBSD: rstat_proc.c,v 1.6 1997/07/08 20:19:35 kstailey Exp $";
+static char rcsid[] = "$OpenBSD: rstat_proc.c,v 1.7 1997/07/08 20:47:51 kstailey Exp $";
#endif
/*
@@ -403,7 +403,7 @@ rstat_service(rqstp, transp)
switch (rqstp->rq_proc) {
case NULLPROC:
(void)svc_sendreply(transp, xdr_void, (char *)NULL);
- goto leave;
+ return;
case RSTATPROC_STATS:
xdr_argument = (xdrproc_t)xdr_void;
@@ -423,7 +423,7 @@ rstat_service(rqstp, transp)
break;
default:
svcerr_progvers(transp, RSTATVERS_ORIG, RSTATVERS_TIME);
- goto leave;
+ return;
}
break;
@@ -445,18 +445,18 @@ rstat_service(rqstp, transp)
break;
default:
svcerr_progvers(transp, RSTATVERS_ORIG, RSTATVERS_TIME);
- goto leave;
+ return;
}
break;
default:
svcerr_noproc(transp);
- goto leave;
+ return;
}
bzero((char *)&argument, sizeof(argument));
if (!svc_getargs(transp, xdr_argument, (caddr_t)&argument)) {
svcerr_decode(transp);
- goto leave;
+ return;
}
result = (*local)(&argument, rqstp);
if (result != NULL && !svc_sendreply(transp, xdr_result, result)) {
@@ -466,7 +466,4 @@ rstat_service(rqstp, transp)
syslog(LOG_ERR, "unable to free arguments");
exit(1);
}
-leave:
- if (from_inetd)
- exit(0);
}