summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJun-ichi Takimoto <takimoto-j@kba.biglobe.ne.jp>2019-08-28 10:02:29 +0900
committerJun-ichi Takimoto <takimoto-j@kba.biglobe.ne.jp>2019-08-28 10:02:29 +0900
commitb82c24801f5917f2975e80729a73a2890382d267 (patch)
tree7d35c4fa1e73c6609715d51811bb3ad08c1a71f2
parent3da3fe770ade636d14438417b2c50b57658d1055 (diff)
downloadzsh-b82c24801f5917f2975e80729a73a2890382d267.tar.gz
zsh-b82c24801f5917f2975e80729a73a2890382d267.zip
44710: support RLIMIT_UMTXP on FreeBSD
-rw-r--r--ChangeLog3
-rw-r--r--Src/Builtins/rlimits.awk1
-rw-r--r--Src/Builtins/rlimits.c11
-rw-r--r--configure.ac1
4 files changed, 16 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index c34a50202..59f4f0c82 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
2019-08-28 Jun-ichi Takimoto <takimoto-j@kba.biglobe.ne.jp>
+ * 44710: Src/Builtins/rlimits.awk, Src/Builtins/rlimits.c,
+ configure.ac: support RLIMIT_UMTXP on FreeBSD
+
* 44709: Src/zsh_system.h: incluce sys/capability.h only if
HAVE_CAP_GET_PROC is defined
diff --git a/Src/Builtins/rlimits.awk b/Src/Builtins/rlimits.awk
index fe2d0e931..e9c576c66 100644
--- a/Src/Builtins/rlimits.awk
+++ b/Src/Builtins/rlimits.awk
@@ -59,6 +59,7 @@ BEGIN {limidx = 0}
if (limnam == "NPTS") { msg[limnum] = "Npseudoterminals" }
if (limnam == "SWAP") { msg[limnum] = "Mswapsize" }
if (limnam == "KQUEUES") { msg[limnum] = "Nkqueues" }
+ if (limnam == "UMTXP") { msg[limnum] = "Numtxp" }
}
}
}
diff --git a/Src/Builtins/rlimits.c b/Src/Builtins/rlimits.c
index 29f97b41d..6b552f3a9 100644
--- a/Src/Builtins/rlimits.c
+++ b/Src/Builtins/rlimits.c
@@ -413,6 +413,12 @@ printulimit(char *nam, int lim, int hard, int head)
printf("-k: kqueues ");
break;
# endif /* HAVE_RLIMIT_KQUEUES */
+# ifdef HAVE_RLIMIT_UMTXP
+ case RLIMIT_UMTXP:
+ if (head)
+ printf("-o: umtx shared locks ");
+ break;
+# endif /* HAVE_RLIMIT_UMTXP */
default:
if (head)
printf("-N %2d: ", lim);
@@ -895,6 +901,11 @@ bin_ulimit(char *name, char **argv, UNUSED(Options ops), UNUSED(int func))
res = RLIMIT_PTHREAD;
break;
# endif
+# ifdef HAVE_RLIMIT_UMTXP
+ case 'o':
+ res = RLIMIT_UMTXP;
+ break;
+# endif
default:
/* unrecognised limit */
zwarnnam(name, "bad option: -%c", *options);
diff --git a/configure.ac b/configure.ac
index 9ccf17b84..b31b1d958 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1880,6 +1880,7 @@ zsh_LIMIT_PRESENT(RLIMIT_POSIXLOCKS)
zsh_LIMIT_PRESENT(RLIMIT_NPTS)
zsh_LIMIT_PRESENT(RLIMIT_SWAP)
zsh_LIMIT_PRESENT(RLIMIT_KQUEUES)
+zsh_LIMIT_PRESENT(RLIMIT_UMTXP)
AH_TEMPLATE([RLIMIT_VMEM_IS_RSS],
[Define to 1 if RLIMIT_VMEM and RLIMIT_RSS both exist and are equal.])