* PATCH: assign threads ulimit -T flag like in bash
@ 2013-10-31 23:41 Stefan Neudorf
0 siblings, 0 replies; only message in thread
From: Stefan Neudorf @ 2013-10-31 23:41 UTC (permalink / raw)
To: zsh-workers
Currently limiting threads in zsh is done via either -N X maxpthreads or
-r maxthr. However, ulimit -r occupied by two limits: RLIMIT_RTPRIO and
RLIMIT_NTHR. And to make matter worse bash uses -T option letter.
This change renames -r maxthr to -T maxpthread given that maxthr
csh-style limit wasn't documented in the zsh manpage. But maxpthread is
still different name from maxthread in login.conf or threads which tcsh
is going to use (my fault).
-r rt_priority as previously is left undocumented.
---
Doc/Zsh/builtins.yo | 4 ++--
Src/Builtins/rlimits.awk | 2 +-
Src/Builtins/rlimits.c | 17 +++++------------
3 files changed, 8 insertions(+), 15 deletions(-)
diff --git a/Doc/Zsh/builtins.yo b/Doc/Zsh/builtins.yo
index 7927232..4864e21 100644
--- a/Doc/Zsh/builtins.yo
+++ b/Doc/Zsh/builtins.yo
@@ -1897,7 +1897,7 @@ enditem()
findex(ulimit)
cindex(resource limits)
cindex(limits, resource)
-item(tt(ulimit) [ [ tt(-SHacdfiklmnpqrstvwx) | tt(-N) var(resource) [ var(limit) ] ... ])(
+item(tt(ulimit) [ [ tt(-SHacdfiklmnpqsTtvwx) | tt(-N) var(resource) [ var(limit) ] ... ])(
Set or display resource limits of the shell and the processes started by
the shell. The value of var(limit) can be a number in the unit specified
below or one of the values `tt(unlimited)', which removes the limit on the
@@ -1935,8 +1935,8 @@ sitem(tt(-n))(open file descriptors.)
sitem(tt(-p))(The number of pseudo-terminals.)
sitem(tt(-q))(Bytes in POSIX message queues.)
sitem(tt(-s))(Kilobytes on the size of the stack.)
+sitem(tt(-T))(The number of simultaneous threads available to the user.)
sitem(tt(-t))(CPU seconds to be used.)
-sitem(tt(-r))(The number of simultaneous threads available to the user.)
sitem(tt(-u))(The number of processes available to the user.)
sitem(tt(-v))(Kilobytes on the size of virtual memory. On some systems this
refers to the limit called `address space'.)
diff --git a/Src/Builtins/rlimits.awk b/Src/Builtins/rlimits.awk
index b5a25fd..fe2d0e9 100644
--- a/Src/Builtins/rlimits.awk
+++ b/Src/Builtins/rlimits.awk
@@ -42,7 +42,7 @@ BEGIN {limidx = 0}
if (limnam == "MEMLOCK") { msg[limnum] = "Mmemorylocked" }
if (limnam == "NOFILE") { msg[limnum] = "Ndescriptors" }
if (limnam == "NPROC") { msg[limnum] = "Nmaxproc" }
- if (limnam == "NTHR") { msg[limnum] = "Nmaxthr" }
+ if (limnam == "NTHR") { msg[limnum] = "Nmaxpthreads" }
if (limnam == "OFILE") { msg[limnum] = "Ndescriptors" }
if (limnam == "PTHREAD") { msg[limnum] = "Nmaxpthreads" }
if (limnam == "RSS") { msg[limnum] = "Mresident" }
diff --git a/Src/Builtins/rlimits.c b/Src/Builtins/rlimits.c
index e48a1d3..fd4c94a 100644
--- a/Src/Builtins/rlimits.c
+++ b/Src/Builtins/rlimits.c
@@ -36,6 +36,10 @@
# define RLIMIT_LOCKS RLIMIT_POSIXLOCKS
#endif
+#ifdef RLIMIT_NTHR
+# define RLIMIT_PTHREAD RLIMIT_NTHR
+#endif
+
enum {
ZLIMTYPE_MEMORY,
ZLIMTYPE_NUMBER,
@@ -318,12 +322,6 @@ printulimit(char *nam, int lim, int hard, int head)
printf("-u: processes ");
break;
# endif /* HAVE_RLIMIT_NPROC */
-# ifdef HAVE_RLIMIT_NTHR
- case RLIMIT_NTHR:
- if (head)
- printf("-r: threads ");
- break;
-#endif /* HAVE_RLIMIT_NTHR */
# if defined(HAVE_RLIMIT_VMEM) && (!defined(HAVE_RLIMIT_RSS) || !defined(RLIMIT_VMEM_IS_RSS))
case RLIMIT_VMEM:
if (head)
@@ -375,7 +373,7 @@ printulimit(char *nam, int lim, int hard, int head)
# ifdef HAVE_RLIMIT_PTHREAD
case RLIMIT_PTHREAD:
if (head)
- printf("-N %2d: threads per process ", RLIMIT_PTHREAD);
+ printf("-T: threads per process ");
break;
# endif /* HAVE_RLIMIT_PTHREAD */
# ifdef HAVE_RLIMIT_NICE
@@ -824,11 +822,6 @@ bin_ulimit(char *name, char **argv, UNUSED(Options ops), UNUSED(int func))
res = RLIMIT_NOFILE;
break;
# endif /* HAVE_RLIMIT_NOFILE */
-# ifdef HAVE_RLIMIT_NTHR
- case 'r':
- res = RLIMIT_NTHR;
- break;
-# endif /* HAVE_RLIMIT_NTHR */
# ifdef HAVE_RLIMIT_NPROC
case 'u':
res = RLIMIT_NPROC;
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2013-10-31 23:44 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-10-31 23:41 PATCH: assign threads ulimit -T flag like in bash Stefan Neudorf
Code repositories for project(s) associated with this public inbox
https://git.vuxu.org/mirror/zsh/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).