diff options
author | alfred <alfred@FreeBSD.org> | 2002-07-11 17:39:50 +0000 |
---|---|---|
committer | alfred <alfred@FreeBSD.org> | 2002-07-11 17:39:50 +0000 |
commit | 2346687c8a5836458321c920139225c8fb666306 (patch) | |
tree | 79263cc99a6d51a1c9e604c3a49bb6ed771f1f40 /usr.sbin/rpc.statd | |
parent | 8f999c34228712500a26caf078c05fa1d4f4088f (diff) | |
download | FreeBSD-src-2346687c8a5836458321c920139225c8fb666306.zip FreeBSD-src-2346687c8a5836458321c920139225c8fb666306.tar.gz |
Fix return values in the sm_notify_1 service routine to return an answer
most of the time (unless fork fails). This should fix the problem where
FreeBSD won't respond to a remote host and therefor the remote hosts
tries indefinitely to contact the FreeBSD hosts thereby irritating the
system administrator.
PR: misc/27810
Diffstat (limited to 'usr.sbin/rpc.statd')
-rw-r--r-- | usr.sbin/rpc.statd/procs.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/usr.sbin/rpc.statd/procs.c b/usr.sbin/rpc.statd/procs.c index 2db706f..bbe9d4a 100644 --- a/usr.sbin/rpc.statd/procs.c +++ b/usr.sbin/rpc.statd/procs.c @@ -374,16 +374,16 @@ void *sm_notify_1_svc(stat_chge *arg, struct svc_req *req) { /* Never heard of this host - why is it notifying us? */ syslog(LOG_ERR, "Unsolicited notification from host %s", arg->mon_name); - return; + return (&dummy); } lp = hp->monList; - if (!lp) return (FALSE); /* We know this host, but have no */ + if (!lp) return (&dummy); /* We know this host, but have no */ /* outstanding requests. */ pid = fork(); if (pid == -1) { syslog(LOG_ERR, "Unable to fork notify process - %s", strerror(errno)); - return; + return (NULL); /* no answer, the client will retry */ } if (pid) return (&dummy); /* Parent returns */ |