]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
put switch_id and start_daemon earlier
authorRoger Dingledine <arma@torproject.org>
Sun, 29 Feb 2004 22:34:38 +0000 (22:34 +0000)
committerRoger Dingledine <arma@torproject.org>
Sun, 29 Feb 2004 22:34:38 +0000 (22:34 +0000)
svn:r1188

src/or/main.c

index b80ac9cd7e2b8facd991a0e4e424d02ef68fa9f1..3328ed2bbd8d2ad3bd7311ce2977f5d2819c6526 100644 (file)
@@ -430,6 +430,17 @@ static int init_from_config(int argc, char **argv) {
     return -1;
   }
   close_logs(); /* we'll close, then open with correct loglevel if necessary */
+
+  if(options.User || options.Group) {
+    if(switch_id(options.User, options.Group) != 0) {
+      return -1;
+    }
+  }
+
+  if (options.RunAsDaemon) {
+    start_daemon(options.DataDirectory);
+  }
+
   if(!options.LogFile && !options.RunAsDaemon)
     add_stream_log(options.loglevel, "<stdout>", stdout);
   if(options.LogFile) {
@@ -450,12 +461,6 @@ static int init_from_config(int argc, char **argv) {
   global_read_bucket = options.BandwidthBurst; /* start it at max traffic */
   stats_prev_global_read_bucket = global_read_bucket;
 
-  if(options.User || options.Group) {
-    if(switch_id(options.User, options.Group) != 0) {
-      return -1;
-    }
-  }
-
   if(options.RunAsDaemon) {
     /* XXXX Can we delay this any more? */
     finish_daemon();
@@ -680,10 +685,6 @@ int tor_main(int argc, char *argv[]) {
     log_fn(LOG_WARN,"You are running Tor as root. You don't need to, and you probably shouldn't.");
 #endif
 
-  if (options.RunAsDaemon) {
-    start_daemon(options.DataDirectory);
-  }
-
   if(options.ORPort) { /* only spawn dns handlers if we're a router */
     dns_init(); /* initialize the dns resolve tree, and spawn workers */
   }