[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.187 and 1.188

version 1.187, 2019/06/20 06:51:36 version 1.188, 2020/03/12 09:26:34
Line 45 
Line 45 
   
 struct tmuxproc         *server_proc;  struct tmuxproc         *server_proc;
 static int               server_fd = -1;  static int               server_fd = -1;
   static int               server_client_flags;
 static int               server_exit;  static int               server_exit;
 static struct event      server_ev_accept;  static struct event      server_ev_accept;
   
Line 98 
Line 99 
   
 /* Create server socket. */  /* Create server socket. */
 static int  static int
 server_create_socket(char **cause)  server_create_socket(int flags, char **cause)
 {  {
         struct sockaddr_un      sa;          struct sockaddr_un      sa;
         size_t                  size;          size_t                  size;
Line 117 
Line 118 
         if ((fd = socket(AF_UNIX, SOCK_STREAM, 0)) == -1)          if ((fd = socket(AF_UNIX, SOCK_STREAM, 0)) == -1)
                 goto fail;                  goto fail;
   
         mask = umask(S_IXUSR|S_IXGRP|S_IRWXO);          if (flags & CLIENT_DEFAULTSOCKET)
                   mask = umask(S_IXUSR|S_IXGRP|S_IRWXO);
           else
                   mask = umask(S_IXUSR|S_IRWXG|S_IRWXO);
         if (bind(fd, (struct sockaddr *)&sa, sizeof sa) == -1) {          if (bind(fd, (struct sockaddr *)&sa, sizeof sa) == -1) {
                 saved_errno = errno;                  saved_errno = errno;
                 close(fd);                  close(fd);
Line 146 
Line 150 
   
 /* Fork new server. */  /* Fork new server. */
 int  int
 server_start(struct tmuxproc *client, struct event_base *base, int lockfd,  server_start(struct tmuxproc *client, int flags, struct event_base *base,
     char *lockfile)      int lockfd, char *lockfile)
 {  {
         int              pair[2];          int              pair[2];
         sigset_t         set, oldset;          sigset_t         set, oldset;
Line 156 
Line 160 
   
         if (socketpair(AF_UNIX, SOCK_STREAM, PF_UNSPEC, pair) != 0)          if (socketpair(AF_UNIX, SOCK_STREAM, PF_UNSPEC, pair) != 0)
                 fatal("socketpair failed");                  fatal("socketpair failed");
           server_client_flags = flags;
   
         sigfillset(&set);          sigfillset(&set);
         sigprocmask(SIG_BLOCK, &set, &oldset);          sigprocmask(SIG_BLOCK, &set, &oldset);
Line 193 
Line 198 
   
         gettimeofday(&start_time, NULL);          gettimeofday(&start_time, NULL);
   
         server_fd = server_create_socket(&cause);          server_fd = server_create_socket(flags, &cause);
         if (server_fd != -1)          if (server_fd != -1)
                 server_update_socket();                  server_update_socket();
         c = server_client_create(pair[1]);          c = server_client_create(pair[1]);
Line 396 
Line 401 
                 break;                  break;
         case SIGUSR1:          case SIGUSR1:
                 event_del(&server_ev_accept);                  event_del(&server_ev_accept);
                 fd = server_create_socket(NULL);                  fd = server_create_socket(server_client_flags, NULL);
                 if (fd != -1) {                  if (fd != -1) {
                         close(server_fd);                          close(server_fd);
                         server_fd = fd;                          server_fd = fd;

Legend:
Removed from v.1.187  
changed lines
  Added in v.1.188