mirror of
https://github.com/tmux/tmux.git
synced 2025-01-12 03:08:46 +00:00
After logging (if enabled) is switched to file, there is no reason to keep
stdin/stdout/stderr active, so dup them to /dev/null.
This commit is contained in:
parent
826add53f1
commit
6ce734cec0
14
server.c
14
server.c
@ -131,7 +131,7 @@ server_client_index(struct client *c)
|
||||
int
|
||||
server_start(char *path)
|
||||
{
|
||||
int pair[2], srv_fd;
|
||||
int pair[2], srv_fd, null_fd;
|
||||
char *cause;
|
||||
#ifdef HAVE_SETPROCTITLE
|
||||
char rpathbuf[MAXPATHLEN];
|
||||
@ -178,6 +178,18 @@ server_start(char *path)
|
||||
}
|
||||
logfile("server");
|
||||
|
||||
/*
|
||||
* Close stdin/stdout/stderr. Can't let daemon() do this as they are
|
||||
* needed until now to print configuration file errors.
|
||||
*/
|
||||
if ((null_fd = open(_PATH_DEVNULL, O_RDWR)) != -1) {
|
||||
dup2(null_fd, STDIN_FILENO);
|
||||
dup2(null_fd, STDOUT_FILENO);
|
||||
dup2(null_fd, STDERR_FILENO);
|
||||
if (null_fd > 2)
|
||||
close(null_fd);
|
||||
}
|
||||
|
||||
log_debug("server started, pid %ld", (long) getpid());
|
||||
log_debug("socket path %s", socket_path);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user