[or-cvs] Move call to event_init() immediately after start_daemon();...

Nick Mathewson nickm at seul.org
Thu Jan 13 21:32:11 UTC 2005


Update of /home/or/cvsroot/tor/src/or
In directory moria.mit.edu:/tmp/cvs-serv17538/src/or

Modified Files:
	config.c main.c 
Log Message:
Move call to event_init() immediately after start_daemon(); move start_daemon earlier.  This should fix using libevent with RunAsDaemon.

Index: config.c
===================================================================
RCS file: /home/or/cvsroot/tor/src/or/config.c,v
retrieving revision 1.300
retrieving revision 1.301
diff -u -d -r1.300 -r1.301
--- config.c	13 Jan 2005 20:22:37 -0000	1.300
+++ config.c	13 Jan 2005 21:32:08 -0000	1.301
@@ -245,6 +245,18 @@
 options_act(void) {
   struct config_line_t *cl;
   or_options_t *options = get_options();
+  static int libevent_initialized = 0;
+
+  /* XXXX009 We once had a reason to separate start_daemon and finish_daemon:
+   *    It let us have the parent process stick around until we were sure Tor
+   *    was started.  Should we make start_daemon get called earlier? -NM */
+  if (options->RunAsDaemon) {
+    start_daemon(options->DataDirectory);
+  }
+  if (!libevent_initialized) {
+    event_init();
+    libevent_initialized = 1;
+  }
 
   clear_trusted_dir_servers();
   for (cl = options->DirServers; cl; cl = cl->next) {
@@ -302,13 +314,6 @@
 
   /* Start backgrounding the process, if requested. */
 
-  /* XXXX009 We once had a reason to separate start_daemon and finish_daemon:
-   *    It let us have the parent process stick around until we were sure Tor
-   *    was started.  Should we make start_daemon get called earlier? -NM */
-  if (options->RunAsDaemon) {
-    start_daemon(options->DataDirectory);
-  }
-
   /* Finish backgrounding the process */
   if (options->RunAsDaemon) {
     /* We may be calling this for the n'th time (on SIGHUP), but it's safe. */

Index: main.c
===================================================================
RCS file: /home/or/cvsroot/tor/src/or/main.c,v
retrieving revision 1.424
retrieving revision 1.425
diff -u -d -r1.424 -r1.425
--- main.c	12 Jan 2005 12:22:25 -0000	1.424
+++ main.c	13 Jan 2005 21:32:08 -0000	1.425
@@ -1241,8 +1241,6 @@
     return -1;
   }
   atexit(exit_function);
-  event_init(); /* This needs to happen before net stuff. Is it okay if this
-                 * happens before daemonizing? */
 
   if (init_from_config(argc,argv) < 0) {
     log_fn(LOG_ERR,"Reading config failed--see warnings above. For usage, try -h.");



More information about the tor-commits mailing list