Selaa lähdekoodia

don't mess with signals on windows until we know how

svn:r391
Roger Dingledine 22 vuotta sitten
vanhempi
commit
25c9c837eb
1 muutettua tiedostoa jossa 8 lisäystä ja 0 poistoa
  1. 8 0
      src/or/main.c

+ 8 - 0
src/or/main.c

@@ -23,9 +23,11 @@ static struct pollfd poll_array[MAXCONNECTIONS];
 
 
 static int nfds=0; /* number of connections currently active */
 static int nfds=0; /* number of connections currently active */
 
 
+#ifndef MS_WINDOWS /* do signal stuff only on unix */
 static int please_dumpstats=0; /* whether we should dump stats during the loop */
 static int please_dumpstats=0; /* whether we should dump stats during the loop */
 static int please_fetch_directory=0; /* whether we should fetch a new directory */
 static int please_fetch_directory=0; /* whether we should fetch a new directory */
 static int please_reap_children=0; /* whether we should waitpid for exited children*/
 static int please_reap_children=0; /* whether we should waitpid for exited children*/
+#endif /* signal stuff */
 
 
 /* private key */
 /* private key */
 static crypto_pk_env_t *privatekey=NULL;
 static crypto_pk_env_t *privatekey=NULL;
@@ -514,6 +516,7 @@ static int do_main_loop(void) {
   retry_all_connections(options.ORPort, options.APPort, options.DirPort);
   retry_all_connections(options.ORPort, options.APPort, options.DirPort);
 
 
   for(;;) {
   for(;;) {
+#ifndef MS_WINDOWS /* do signal stuff only on unix */
     if(please_dumpstats) {
     if(please_dumpstats) {
       dumpstats();
       dumpstats();
       please_dumpstats = 0;
       please_dumpstats = 0;
@@ -532,6 +535,7 @@ static int do_main_loop(void) {
       while(waitpid(-1,NULL,WNOHANG)) ; /* keep reaping until no more zombies */
       while(waitpid(-1,NULL,WNOHANG)) ; /* keep reaping until no more zombies */
       please_reap_children = 0;
       please_reap_children = 0;
     }
     }
+#endif /* signal stuff */
     if(prepare_for_poll(&timeout) < 0) {
     if(prepare_for_poll(&timeout) < 0) {
       log(LOG_DEBUG,"do_main_loop(): prepare_for_poll failed, exiting.");
       log(LOG_DEBUG,"do_main_loop(): prepare_for_poll failed, exiting.");
       return -1;
       return -1;
@@ -584,6 +588,7 @@ static int do_main_loop(void) {
 
 
 static void catch(int the_signal) {
 static void catch(int the_signal) {
 
 
+#ifndef MS_WINDOWS /* do signal stuff only on unix */
   switch(the_signal) {
   switch(the_signal) {
 //    case SIGABRT:
 //    case SIGABRT:
     case SIGTERM:
     case SIGTERM:
@@ -601,6 +606,7 @@ static void catch(int the_signal) {
     default:
     default:
       log(LOG_ERR,"Caught signal that we can't handle??");
       log(LOG_ERR,"Caught signal that we can't handle??");
   }
   }
+#endif /* signal stuff */
 }
 }
 
 
 static void dumpstats(void) { /* dump stats to stdout */
 static void dumpstats(void) { /* dump stats to stdout */
@@ -848,11 +854,13 @@ int tor_main(int argc, char *argv[]) {
     dns_init(); /* initialize the dns resolve tree, and spawn workers */
     dns_init(); /* initialize the dns resolve tree, and spawn workers */
   }
   }
 
 
+#ifndef MS_WINDOWS /* do signal stuff only on unix */
   signal (SIGINT,  catch); /* catch kills so we can exit cleanly */
   signal (SIGINT,  catch); /* catch kills so we can exit cleanly */
   signal (SIGTERM, catch);
   signal (SIGTERM, catch);
   signal (SIGUSR1, catch); /* to dump stats to stdout */
   signal (SIGUSR1, catch); /* to dump stats to stdout */
   signal (SIGHUP,  catch); /* to reload directory */
   signal (SIGHUP,  catch); /* to reload directory */
   signal (SIGCHLD, catch); /* for exiting dns/cpu workers */
   signal (SIGCHLD, catch); /* for exiting dns/cpu workers */
+#endif /* signal stuff */
 
 
   crypto_global_init();
   crypto_global_init();
   crypto_seed_rng();
   crypto_seed_rng();