Call event_init() after detaching.
Otherwise, the call to daemon() could close filedescriptors in use by libevent itself; for example if it uses kqueue or epoll instead of a select() or poll() backend.
This commit is contained in:
parent
4e0fc52197
commit
cc0c35267f
1 changed files with 5 additions and 5 deletions
10
src/tincd.c
10
src/tincd.c
|
@ -382,11 +382,6 @@ int main(int argc, char **argv) {
|
||||||
|
|
||||||
openlogger("tinc", use_logfile?LOGMODE_FILE:LOGMODE_STDERR);
|
openlogger("tinc", use_logfile?LOGMODE_FILE:LOGMODE_STDERR);
|
||||||
|
|
||||||
if(!event_init()) {
|
|
||||||
logger(DEBUG_ALWAYS, LOG_ERR, "Error initializing libevent!");
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
g_argv = argv;
|
g_argv = argv;
|
||||||
|
|
||||||
if(getenv("LISTEN_PID") && atoi(getenv("LISTEN_PID")) == getpid())
|
if(getenv("LISTEN_PID") && atoi(getenv("LISTEN_PID")) == getpid())
|
||||||
|
@ -439,6 +434,11 @@ int main2(int argc, char **argv) {
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
if(!event_init()) {
|
||||||
|
logger(DEBUG_ALWAYS, LOG_ERR, "Error initializing libevent!");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
/* Setup sockets and open device. */
|
/* Setup sockets and open device. */
|
||||||
|
|
||||||
if(!setup_network())
|
if(!setup_network())
|
||||||
|
|
Loading…
Reference in a new issue