]> git.ipfire.org Git - thirdparty/bash.git/blobdiff - builtins/ulimit.def
Imported from ../bash-2.05.tar.gz.
[thirdparty/bash.git] / builtins / ulimit.def
index e57e76de3d97c2657a4c00fbc72d154728e33df7..a9d5d6a433dcb79936dcae92f571de2d93bc0c5e 100644 (file)
@@ -201,6 +201,9 @@ static RESOURCE_LIMITS limits[] = {
   { 'u',       RLIMIT_MAXUPROC, 1, "max user processes" },
 #if defined (HAVE_RESOURCE)
   { 'v',       RLIMIT_VIRTMEM, RLIMIT_VMBLKSZ, "virtual memory (kbytes)" },
+#endif
+#ifdef RLIMIT_SWAP
+  { 'w',       RLIMIT_SWAP,    1024,   "swap size (kbytes)" },
 #endif
   { -1, -1, -1, (char *)NULL }
 };
@@ -476,7 +479,13 @@ set_limit (ind, newlim, mode)
 
       case RLIMIT_OPENFILES:
 #if defined (HAVE_SETDTABLESIZE)
+#  if defined (__CYGWIN__)
+       /* Grrr... Cygwin declares setdtablesize as void. */
+       setdtablesize (newlim);
+       return 0;
+#  else
        return (setdtablesize (newlim));
+#  endif
 #endif
       case RLIMIT_PIPESIZE:
       case RLIMIT_VIRTMEM:
@@ -495,6 +504,7 @@ set_limit (ind, newlim, mode)
        newlim /= 512;                          /* Ugh. */
 #  endif /* HPUX9 */
       val = (current_user.euid != 0 && newlim == RLIM_INFINITY &&
+              (mode & LIMIT_HARD) == 0 &&              /* XXX -- test */
               (limit.rlim_cur <= limit.rlim_max))
                 ? limit.rlim_max : newlim;
       if (mode & LIMIT_SOFT)