summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2001-10-25 18:16:21 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2001-10-25 18:16:21 +0000
commit13288010566df7e484f90cfea61ccd55907c26d1 (patch)
tree31426992dad02a19d3c0b3ee0b6d3fac92451263
parentFix some .distfiles (diff)
downloadzsh-4.0.4.tar
zsh-4.0.4.tar.gz
zsh-4.0.4.tar.bz2
zsh-4.0.4.tar.lz
zsh-4.0.4.tar.xz
zsh-4.0.4.tar.zst
zsh-4.0.4.zip
16145: try to handle identical RLIMIT_RSS and RLIMIT_VMEM better.zsh-4.0.4
-rw-r--r--ChangeLog5
-rw-r--r--Src/Builtins/rlimits.c14
2 files changed, 12 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index 24a3983b7..531c4a616 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2001-10-25 Peter Stephenson <pws@csr.com>
+
+ * 16145: Src/Builtins/rlimits.c: try to handle both RLIMITS_VMEM
+ and RLIMITS_RSS, even if they are the same value (c.f. 16033).
+
2001-10-24 Peter Stephenson <pws@csr.com>
* unposted: Config/version.mk: create 4.0.3.
diff --git a/Src/Builtins/rlimits.c b/Src/Builtins/rlimits.c
index 2b03beb37..0df671786 100644
--- a/Src/Builtins/rlimits.c
+++ b/Src/Builtins/rlimits.c
@@ -44,12 +44,6 @@ enum {
# include "rlimits.h"
-/* If RLIMIT_VMEM and RLIMIT_RSS are defined and equal, drop support *
- * for RLIMIT_RSS. Observed on QNX Neutrino 6.1.0. */
-#if defined(RLIMIT_RSS) && defined(RLIMIT_VMEM) && (RLIMIT_RSS == RLIMIT_VMEM)
-#undef RLIMIT_RSS
-#endif
-
# if defined(RLIM_T_IS_QUAD_T) || defined(RLIM_T_IS_LONG_LONG) || defined(RLIM_T_IS_UNSIGNED)
static rlim_t
zstrtorlimt(const char *s, char **t, int base)
@@ -174,7 +168,9 @@ printulimit(int lim, int hard, int head)
if (limit != RLIM_INFINITY)
limit /= 512;
break;
-# ifdef RLIMIT_RSS
+/* If RLIMIT_VMEM and RLIMIT_RSS are defined and equal, avoid *
+ * duplicate case statement. Observed on QNX Neutrino 6.1.0. */
+# if defined(RLIMIT_RSS) && (!defined(RLIMIT_VMEM) || RLIMIT_VMEM != RLIMIT_RSS)
case RLIMIT_RSS:
if (head)
printf("resident set size (kbytes) ");
@@ -205,7 +201,11 @@ printulimit(int lim, int hard, int head)
# ifdef RLIMIT_VMEM
case RLIMIT_VMEM:
if (head)
+# if defined(RLIMIT_RSS) && RLIMIT_VMEM == RLIMIT_RSS
+ printf("memory size (kb) ");
+# else
printf("virtual memory size (kb) ");
+# endif
if (limit != RLIM_INFINITY)
limit /= 1024;
break;