Re: [nfs-utils PATCH] close the syslog fd in daemon_init()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 09/29/2015 11:36 AM, Scott Mayhew wrote:
> Commit 7addf9d (cleanup daemonization code) added the following line to
> mydaemon_init():
> 
>         dup2(pipefds[1], 3);
> 
> If we've already called vsyslog() before the fork(), then chances are fd
> 3 was being used for the syslog socket.  In that case the next vsyslog()
> call will cause the data to appear on the read end of the pipe, causing
> the parent to exit with a nonzero status.  If systemd is running, it
> will see the parent's nonzero exit status and will terminate the child
> as well.
> 
> So just call closelog() to close the fd.  The next call to vsyslog()
> will open a new one if need be.
> 
> Signed-off-by: Scott Mayhew <smayhew@xxxxxxxxxx>
Committed... Actual this is the one I fixed the warning on... 

steved.

> ---
>  support/nfs/mydaemon.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/support/nfs/mydaemon.c b/support/nfs/mydaemon.c
> index 3391eff..701cfd9 100644
> --- a/support/nfs/mydaemon.c
> +++ b/support/nfs/mydaemon.c
> @@ -122,6 +122,7 @@ daemon_init(bool fg)
>  	dup2(tempfd, 0);
>  	dup2(tempfd, 1);
>  	dup2(tempfd, 2);
> +	closelog();
>  	dup2(pipefds[1], 3);
>  	pipefds[1] = 3;
>  	closeall(4);
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux