[BACK]Return to server.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / tmux

Diff for /src/usr.bin/tmux/server.c between version 1.86 and 1.87

version 1.86, 2010/05/03 16:06:32 version 1.87, 2010/05/04 08:48:06
Line 49 
Line 49 
 int              server_fd;  int              server_fd;
 int              server_shutdown;  int              server_shutdown;
 struct event     server_ev_accept;  struct event     server_ev_accept;
   struct event     server_ev_sigterm;
   struct event     server_ev_sigusr1;
   struct event     server_ev_sigchld;
 struct event     server_ev_second;  struct event     server_ev_second;
   
 int              server_create_socket(void);  int              server_create_socket(void);
Line 131 
Line 134 
         }          }
         close(pair[0]);          close(pair[0]);
   
         /* event_init() was called by the parent, need to reinit. */  
         if (event_reinit(ev_base) != 0)  
                 fatal("event_reinit failed");  
   
         clear_signals();  
   
         /*          /*
          * Must daemonise before loading configuration as the PID changes so           * Must daemonise before loading configuration as the PID changes so
          * $TMUX would be wrong for sessions created in the config file.           * $TMUX would be wrong for sessions created in the config file.
Line 165 
Line 162 
         log_debug("socket path %s", socket_path);          log_debug("socket path %s", socket_path);
         setproctitle("server (%s)", rpathbuf);          setproctitle("server (%s)", rpathbuf);
   
           event_init();
   
         server_fd = server_create_socket();          server_fd = server_create_socket();
         server_client_create(pair[1]);          server_client_create(pair[1]);
   
Line 203 
Line 202 
         evtimer_set(&server_ev_second, server_second_callback, NULL);          evtimer_set(&server_ev_second, server_second_callback, NULL);
         evtimer_add(&server_ev_second, &tv);          evtimer_add(&server_ev_second, &tv);
   
         set_signals(server_signal_callback);          server_signal_set();
         server_loop();          server_loop();
         exit(0);          exit(0);
 }  }
Line 340 
Line 339 
                 return;                  return;
         }          }
         server_client_create(newfd);          server_client_create(newfd);
   }
   
   /* Set up server signal handling. */
   void
   server_signal_set(void)
   {
           struct sigaction         sigact;
   
           memset(&sigact, 0, sizeof sigact);
           sigemptyset(&sigact.sa_mask);
           sigact.sa_flags = SA_RESTART;
           sigact.sa_handler = SIG_IGN;
           if (sigaction(SIGINT, &sigact, NULL) != 0)
                   fatal("sigaction failed");
           if (sigaction(SIGPIPE, &sigact, NULL) != 0)
                   fatal("sigaction failed");
           if (sigaction(SIGUSR2, &sigact, NULL) != 0)
                   fatal("sigaction failed");
           if (sigaction(SIGTSTP, &sigact, NULL) != 0)
                   fatal("sigaction failed");
           if (sigaction(SIGHUP, &sigact, NULL) != 0)
                   fatal("sigaction failed");
   
           signal_set(&server_ev_sigchld, SIGCHLD, server_signal_callback, NULL);
           signal_add(&server_ev_sigchld, NULL);
           signal_set(&server_ev_sigterm, SIGTERM, server_signal_callback, NULL);
           signal_add(&server_ev_sigterm, NULL);
           signal_set(&server_ev_sigusr1, SIGUSR1, server_signal_callback, NULL);
           signal_add(&server_ev_sigusr1, NULL);
   }
   
   /* Destroy server signal events. */
   void
   server_signal_clear(void)
   {
           struct sigaction         sigact;
   
           memset(&sigact, 0, sizeof sigact);
           sigemptyset(&sigact.sa_mask);
           sigact.sa_flags = SA_RESTART;
           sigact.sa_handler = SIG_DFL;
           if (sigaction(SIGINT, &sigact, NULL) != 0)
                   fatal("sigaction failed");
           if (sigaction(SIGPIPE, &sigact, NULL) != 0)
                   fatal("sigaction failed");
           if (sigaction(SIGUSR2, &sigact, NULL) != 0)
                   fatal("sigaction failed");
           if (sigaction(SIGTSTP, &sigact, NULL) != 0)
                   fatal("sigaction failed");
           if (sigaction(SIGHUP, &sigact, NULL) != 0)
                   fatal("sigaction failed");
   
           signal_del(&server_ev_sigchld);
           signal_del(&server_ev_sigterm);
           signal_del(&server_ev_sigusr1);
 }  }
   
 /* Signal handler. */  /* Signal handler. */

Legend:
Removed from v.1.86  
changed lines
  Added in v.1.87