server/: Split peer and admin initialization into smaller pieces.
[tripe] / server / tripe.c
index ed54c5e..60eaf8f 100644 (file)
@@ -294,7 +294,8 @@ int main(int argc, char *argv[])
   signal(SIGPIPE, SIG_IGN);
   for (i = 0; tunnels[i]; i++)
     tunnels[i]->init();
-  p_init(ailist); freeaddrinfo(ailist);
+  p_init();
+  p_bind(ailist); freeaddrinfo(ailist);
   if (!(f & f_daemon)) {
     af = AF_WARN;
 #ifndef NTRACE
@@ -312,7 +313,10 @@ int main(int argc, char *argv[])
     }
   }
 
-  a_init(csock, u, g, csockmode);
+  a_init();
+  a_signals();
+  a_listen(csock, u, g, csockmode);
+  a_switcherr();
   u_setugid(u, g);
   km_init(kr_priv, kr_pub, tag_priv);
   kx_init();