mirror of
https://github.com/tmate-io/tmate.git
synced 2024-11-23 16:43:11 +01: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
b11b1dd1c0
commit
46f80d01ff
15
server.c
15
server.c
@ -25,6 +25,7 @@
|
|||||||
|
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
|
#include <paths.h>
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
@ -131,7 +132,7 @@ server_client_index(struct client *c)
|
|||||||
int
|
int
|
||||||
server_start(char *path)
|
server_start(char *path)
|
||||||
{
|
{
|
||||||
int pair[2], srv_fd;
|
int pair[2], srv_fd, null_fd;
|
||||||
char *cause;
|
char *cause;
|
||||||
char rpathbuf[MAXPATHLEN];
|
char rpathbuf[MAXPATHLEN];
|
||||||
|
|
||||||
@ -176,6 +177,18 @@ server_start(char *path)
|
|||||||
}
|
}
|
||||||
logfile("server");
|
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("server started, pid %ld", (long) getpid());
|
||||||
log_debug("socket path %s", socket_path);
|
log_debug("socket path %s", socket_path);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user