Exercise some care before sending SIGHUP to mountd.
Reviewed by: antoine, emaste, oshogbo Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D19847
This commit is contained in:
parent
aeecbe07e1
commit
a4c817656d
@ -227,6 +227,7 @@ restart_mountd(void)
|
||||
struct pidfh *pfh;
|
||||
pid_t mountdpid;
|
||||
|
||||
mountdpid = 0;
|
||||
pfh = pidfile_open(_PATH_MOUNTDPID, 0600, &mountdpid);
|
||||
if (pfh != NULL) {
|
||||
/* Mountd is not running. */
|
||||
@ -237,6 +238,16 @@ restart_mountd(void)
|
||||
/* Cannot open pidfile for some reason. */
|
||||
return;
|
||||
}
|
||||
|
||||
/*
|
||||
* Refuse to send broadcast or group signals, this has
|
||||
* happened due to the bugs in pidfile(3).
|
||||
*/
|
||||
if (mountdpid <= 0) {
|
||||
warnx("mountd pid %d, refusing to send SIGHUP", mountdpid);
|
||||
return;
|
||||
}
|
||||
|
||||
/* We have mountd(8) PID in mountdpid varible, let's signal it. */
|
||||
if (kill(mountdpid, SIGHUP) == -1)
|
||||
err(1, "signal mountd");
|
||||
|
Loading…
Reference in New Issue
Block a user