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:
Guus Sliepen 2012-07-21 14:19:23 +02:00
parent 4e0fc52197
commit cc0c35267f

View file

@ -382,11 +382,6 @@ int main(int argc, char **argv) {
openlogger("tinc", use_logfile?LOGMODE_FILE:LOGMODE_STDERR);
if(!event_init()) {
logger(DEBUG_ALWAYS, LOG_ERR, "Error initializing libevent!");
return 1;
}
g_argv = argv;
if(getenv("LISTEN_PID") && atoi(getenv("LISTEN_PID")) == getpid())
@ -439,6 +434,11 @@ int main2(int argc, char **argv) {
}
#endif
if(!event_init()) {
logger(DEBUG_ALWAYS, LOG_ERR, "Error initializing libevent!");
return 1;
}
/* Setup sockets and open device. */
if(!setup_network())