Changeset 8 for trunk/src/sh_unix.c


Ignore:
Timestamp:
Dec 31, 2005, 2:02:03 PM (19 years ago)
Author:
rainer
Message:

minor optimisations for speed

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/sh_unix.c

    r1 r8  
    11941194  setrlimit (RLIMIT_NPROC,   &limits);
    11951195#endif
     1196#ifdef RLIMIT_MEMLOCK
     1197  setrlimit (RLIMIT_MEMLOCK, &limits);
     1198#endif
     1199
     1200#if !defined(SL_DEBUG)
     1201  /* no core dumps
     1202   */
     1203  limits.rlim_cur = 0;
     1204  limits.rlim_max = 0;
     1205#ifdef RLIMIT_CORE
     1206  setrlimit (RLIMIT_CORE,    &limits);
     1207#endif
     1208#else
     1209#ifdef RLIMIT_CORE
     1210  setrlimit (RLIMIT_CORE,    &limits);
     1211#endif
     1212#endif
     1213
     1214  limits.rlim_cur = 1024;
     1215  limits.rlim_max = 1024;
     1216
    11961217#if defined(RLIMIT_NOFILE)
    11971218  setrlimit (RLIMIT_NOFILE,  &limits);
     
    11991220  setrlimit (RLIMIT_OFILE,   &limits);
    12001221#endif
    1201 #ifdef RLIMIT_MEMLOCK
    1202   setrlimit (RLIMIT_MEMLOCK, &limits);
    1203 #endif
    1204 
    1205 #if !defined(SL_DEBUG)
    1206   /* no core dumps
    1207    */
    1208   limits.rlim_cur = 0;
    1209   limits.rlim_max = 0;
    1210 #ifdef RLIMIT_CORE
    1211   setrlimit (RLIMIT_CORE,    &limits);
    1212 #endif
    1213 #else
    1214 #ifdef RLIMIT_CORE
    1215   setrlimit (RLIMIT_CORE,    &limits);
    1216 #endif
    1217 #endif
    1218 
    12191222
    12201223  SL_RET0(_("sh_unix_setlimits"));
     
    26962699  struct stat   fbuf;
    26972700  int           stat_return;
    2698   register int  i;
     2701
    26992702  ShFileType    type;
    27002703  unsigned int  mode;
     
    27022705  char        * tmp;
    27032706  char        * tmp2;
    2704   /* char        * p; */
     2707
    27052708  char        * linknamebuf;
    27062709  int           linksize;
     
    27102713  SL_TICKET     rval_open;
    27112714  int           fd;
    2712 #if defined(__linux__)
    2713   int           fd_2;
    2714 #endif
    27152715  int           fstat_return;
    27162716
     
    27382738   */
    27392739  tstart = time(NULL);
     2740
    27402741  stat_return = retry_lstat (FIL__, __LINE__,
    27412742                             path /* theFile->fullpath */, &buf);
    27422743
     2744  fd           = -1;
     2745  fstat_return = -1;
     2746  rval_open    = -1;
     2747
    27432748  if (stat_return == 0 && S_ISREG(buf.st_mode))
    27442749    {
     
    27472752      alert_timeout = 120; /* this is per 8K block now ! */
    27482753
    2749       if (path[0] == '/' && path[1] == 'p' && path[2] == 'r' &&
    2750           path[3] == 'o' && path[4] == 'c' && path[5] == '/')
     2754      if (path[1] == 'p' && path[5] == '/' && path[2] == 'r' &&
     2755          path[3] == 'o' && path[4] == 'c' && path[0] == '/')
    27512756        {
    27522757          /* seven is magic */
    27532758          alert_timeout = 7;
    27542759        }
    2755     }
    2756   else
    2757     rval_open = -1;
    2758 
    2759   if (SL_ISERROR(rval_open))
    2760     fd = -1;
    2761   else
    2762     fd = get_the_fd(rval_open);
     2760
     2761      fd = get_the_fd(rval_open);
     2762    }
    27632763
    27642764  tend = time(NULL);
     
    27742774      SH_FREE(tmp2);
    27752775    }
     2776
     2777  if (fd >= 0)
     2778    fstat_return = retry_fstat (FIL__, __LINE__, fd, &fbuf);
     2779  else
     2780    fd = -1;
    27762781     
    2777   if (fd >= 0)
    2778     {
    2779       fstat_return = retry_fstat (FIL__, __LINE__, fd, &fbuf);
    2780     }
    2781   else
    2782     {
    2783       fstat_return = -1;
    2784       fd           = -1;
    2785     }
    2786 #if defined(__linux__)
    2787   fd_2 = fd;
    2788 #endif
    27892782
    27902783  /* ---  case 1: lstat failed  ---
     
    28092802    }
    28102803
    2811   /* ---  case 2: not a regular file, or [IgnoreAll]  ---
     2804  /* ---  case 2: not a regular file  ---
    28122805   */
    28132806  else if (! S_ISREG(buf.st_mode))
     
    29062899  /* --- Determine file type. ---
    29072900   */
    2908   for (i = 0; i < 10; ++i) theFile->c_mode[i] = '-';
     2901  memset (theFile->c_mode, '-', 10);
    29092902  theFile->c_mode[10] = '\0';
    2910   for (i = 0; i < 11; ++i) theFile->link_c_mode[i] = '-';
     2903
     2904  memset (theFile->link_c_mode, '-', 10);
    29112905  theFile->link_c_mode[10] = '\0';
    29122906
     
    29182912  /* --- Determine file attributes. ---
    29192913   */
    2920   for (i = 0; i < 12; ++i) theFile->c_attributes[i] = '-';
     2914  memset (theFile->c_attributes, '-', 12);
    29212915  theFile->c_attributes[12] = '\0';
    29222916  theFile->attributes      =    0;
     
    29252919      theFile->c_mode[0] != 'l' )
    29262920    sh_unix_getinfo_attr(theFile->fullpath,
    2927                          &theFile->attributes, theFile->c_attributes, fd_2);
     2921                         &theFile->attributes, theFile->c_attributes, fd);
    29282922
    29292923#endif
Note: See TracChangeset for help on using the changeset viewer.