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())
+ do_detach = false;
+#ifdef HAVE_UNSETENV
+ unsetenv("LISTEN_PID");
+#endif
+
init_configuration(&config_tree);
/* Slllluuuuuuurrrrp! */
}
#endif
+ if(!event_init()) {
+ logger(DEBUG_ALWAYS, LOG_ERR, "Error initializing libevent!");
+ return 1;
+ }
+
/* Setup sockets and open device. */
if(!setup_network())