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

Diff for /src/usr.bin/tmux/cfg.c between version 1.57 and 1.58

version 1.57, 2017/04/21 14:04:54 version 1.58, 2017/04/25 14:46:23
Line 28 
Line 28 
   
 #include "tmux.h"  #include "tmux.h"
   
 static char      *cfg_file;  static char              *cfg_file;
 int               cfg_finished;  int                       cfg_finished;
 static char     **cfg_causes;  static char             **cfg_causes;
 static u_int      cfg_ncauses;  static u_int              cfg_ncauses;
   static struct cmdq_item  *cfg_item;
   
 static enum cmd_retval  static enum cmd_retval
   cfg_client_done(__unused struct cmdq_item *item, __unused void *data)
   {
           if (!cfg_finished)
                   return (CMD_RETURN_WAIT);
           return (CMD_RETURN_NORMAL);
   }
   
   static enum cmd_retval
 cfg_done(__unused struct cmdq_item *item, __unused void *data)  cfg_done(__unused struct cmdq_item *item, __unused void *data)
 {  {
         if (cfg_finished)          if (cfg_finished)
Line 43 
Line 52 
         if (!RB_EMPTY(&sessions))          if (!RB_EMPTY(&sessions))
                 cfg_show_causes(RB_MIN(sessions, &sessions));                  cfg_show_causes(RB_MIN(sessions, &sessions));
   
           if (cfg_item != NULL)
                   cfg_item->flags &= ~CMDQ_WAITING;
   
         status_prompt_load_history();          status_prompt_load_history();
   
         return (CMD_RETURN_NORMAL);          return (CMD_RETURN_NORMAL);
Line 60 
Line 72 
 {  {
         const char      *home;          const char      *home;
         int              quiet = 0;          int              quiet = 0;
           struct client   *c;
   
         /*          /*
          * Note that the configuration files are loaded without a client, so           * Configuration files are loaded without a client, so NULL is passed
          * NULL is passed into load_cfg() which means that commands run in the           * into load_cfg() and commands run in the global queue with
          * global queue and item->client is NULL for all commands.           * item->client NULL.
            *
            * However, we must block the initial client (but just the initial
            * client) so that its command runs after the configuration is loaded.
            * Because start_cfg() is called so early, we can be sure the client's
            * command queue is currently empty and our callback will be at the
            * front - we need to get in before MSG_COMMAND.
          */           */
           c = TAILQ_FIRST(&clients);
           if (c != NULL) {
                   cfg_item = cmdq_get_callback(cfg_client_done, NULL);
                   cmdq_append(c, cfg_item);
           }
   
         load_cfg(TMUX_CONF, NULL, NULL, 1);          load_cfg(TMUX_CONF, NULL, NULL, 1);
   

Legend:
Removed from v.1.57  
changed lines
  Added in v.1.58