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

Diff for /src/usr.bin/vim/Attic/unix.c between version 1.2 and 1.3

version 1.2, 1996/09/21 06:23:24 version 1.3, 1996/10/14 03:55:32
Line 108 
Line 108 
 static char_u   *extra_shell_arg = NULL;  static char_u   *extra_shell_arg = NULL;
 static int              show_shell_mess = TRUE;  static int              show_shell_mess = TRUE;
 #endif  #endif
 static int              core_dump = FALSE;                      /* core dump in mch_windexit() */  static int              deadly_signal = 0;                      /* The signal we caught */
   
 #ifdef SYS_SIGLIST_DECLARED  #ifdef SYS_SIGLIST_DECLARED
 /*  /*
Line 126 
Line 126 
 {  {
         int             sig;            /* Signal number, eg. SIGSEGV etc */          int             sig;            /* Signal number, eg. SIGSEGV etc */
         char    *name;          /* Signal name (not char_u!). */          char    *name;          /* Signal name (not char_u!). */
         int             dump;           /* Should this signal cause a core dump? */  
 } signal_info[] =  } signal_info[] =
 {  {
 #ifdef SIGHUP  #ifdef SIGHUP
         {SIGHUP,                "HUP",          FALSE},          {SIGHUP,                "HUP"},
 #endif  #endif
 #ifdef SIGINT  #ifdef SIGINT
         {SIGINT,                "INT",          FALSE},          {SIGINT,                "INT"},
 #endif  #endif
 #ifdef SIGQUIT  #ifdef SIGQUIT
         {SIGQUIT,               "QUIT",         TRUE},          {SIGQUIT,               "QUIT"},
 #endif  #endif
 #ifdef SIGILL  #ifdef SIGILL
         {SIGILL,                "ILL",          TRUE},          {SIGILL,                "ILL"},
 #endif  #endif
 #ifdef SIGTRAP  #ifdef SIGTRAP
         {SIGTRAP,               "TRAP",         TRUE},          {SIGTRAP,               "TRAP"},
 #endif  #endif
 #ifdef SIGABRT  #ifdef SIGABRT
         {SIGABRT,               "ABRT",         TRUE},          {SIGABRT,               "ABRT"},
 #endif  #endif
 #ifdef SIGEMT  #ifdef SIGEMT
         {SIGEMT,                "EMT",          TRUE},          {SIGEMT,                "EMT"},
 #endif  #endif
 #ifdef SIGFPE  #ifdef SIGFPE
         {SIGFPE,                "FPE",          TRUE},          {SIGFPE,                "FPE"},
 #endif  #endif
 #ifdef SIGBUS  #ifdef SIGBUS
         {SIGBUS,                "BUS",          TRUE},          {SIGBUS,                "BUS"},
 #endif  #endif
 #ifdef SIGSEGV  #ifdef SIGSEGV
         {SIGSEGV,               "SEGV",         TRUE},          {SIGSEGV,               "SEGV"},
 #endif  #endif
 #ifdef SIGSYS  #ifdef SIGSYS
         {SIGSYS,                "SYS",          TRUE},          {SIGSYS,                "SYS"},
 #endif  #endif
 #ifdef SIGALRM  #ifdef SIGALRM
         {SIGALRM,               "ALRM",         FALSE},          {SIGALRM,               "ALRM"},
 #endif  #endif
 #ifdef SIGTERM  #ifdef SIGTERM
         {SIGTERM,               "TERM",         FALSE},          {SIGTERM,               "TERM"},
 #endif  #endif
 #ifdef SIGVTALRM  #ifdef SIGVTALRM
         {SIGVTALRM,             "VTALRM",       FALSE},          {SIGVTALRM,             "VTALRM"},
 #endif  #endif
 #ifdef SIGPROF  #ifdef SIGPROF
         {SIGPROF,               "PROF",         FALSE},          {SIGPROF,               "PROF"},
 #endif  #endif
 #ifdef SIGXCPU  #ifdef SIGXCPU
         {SIGXCPU,               "XCPU",         TRUE},          {SIGXCPU,               "XCPU"},
 #endif  #endif
 #ifdef SIGXFSZ  #ifdef SIGXFSZ
         {SIGXFSZ,               "XFSZ",         TRUE},          {SIGXFSZ,               "XFSZ"},
 #endif  #endif
 #ifdef SIGUSR1  #ifdef SIGUSR1
         {SIGUSR1,               "USR1",         FALSE},          {SIGUSR1,               "USR1"},
 #endif  #endif
 #ifdef SIGUSR2  #ifdef SIGUSR2
         {SIGUSR2,               "USR2",         FALSE},          {SIGUSR2,               "USR2"},
 #endif  #endif
         {-1,                    "Unknown!",     -1}          {-1,                    "Unknown!"}
 };  };
   
         void          void
Line 395 
Line 394 
 #ifdef SIGHASARG  #ifdef SIGHASARG
         int             i;          int             i;
   
         for (i = 0; signal_info[i].dump != -1; i++)          /* try to find the name of this signal */
         {          for (i = 0; signal_info[i].sig != -1; i++)
                 if (sigarg == signal_info[i].sig)                  if (sigarg == signal_info[i].sig)
                 {  
                         if (signal_info[i].dump)  
                                 core_dump = TRUE;  
                         break;                          break;
                 }          deadly_signal = sigarg;
         }  
 #endif  #endif
   
         /*          /*
Line 518 
Line 513 
 {  {
         int             i;          int             i;
   
         for (i = 0; signal_info[i].dump != -1; i++)          for (i = 0; signal_info[i].sig != -1; i++)
                 signal(signal_info[i].sig, func);                  signal(signal_info[i].sig, func);
 }  }
   
Line 1318 
Line 1313 
         static void          static void
 may_core_dump()  may_core_dump()
 {  {
 #ifdef SIGQUIT          if (deadly_signal != 0)
         signal(SIGQUIT, SIG_DFL);          {
         if (core_dump)                  signal(deadly_signal, SIG_DFL);
                 kill(getpid(), SIGQUIT);                /* force a core dump */                  kill(getpid(), deadly_signal);  /* Die using the signal we caught */
 #endif          }
 }  }
   
 static int curr_tmode = 0;      /* contains current raw/cooked mode (0 = cooked) */  static int curr_tmode = 0;      /* contains current raw/cooked mode (0 = cooked) */
Line 2423 
Line 2418 
         FD_ZERO(&rfds); /* calls bzero() on a sun */          FD_ZERO(&rfds); /* calls bzero() on a sun */
         FD_ZERO(&efds);          FD_ZERO(&efds);
         FD_SET(fd, &rfds);          FD_SET(fd, &rfds);
   #ifndef __QNX__
           /* For QNX select() always returns 1 if this is set.  Why? */
         FD_SET(fd, &efds);          FD_SET(fd, &efds);
   #endif
         return (select(fd + 1, &rfds, NULL, &efds, (msec >= 0) ? &tv : NULL) > 0);          return (select(fd + 1, &rfds, NULL, &efds, (msec >= 0) ? &tv : NULL) > 0);
 #endif  #endif
 }  }

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3