From 790a4fee2b498a80b43605d64f4c81f01501b727 Mon Sep 17 00:00:00 2001 From: Stefan Neudorf Date: Wed, 30 Oct 2013 02:33:18 +0100 Subject: 31930 / 31934: New limits from BSD. Avoid clash of uses for ulimit -k. --- Src/Builtins/rlimits.awk | 4 ++++ Src/Builtins/rlimits.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+) (limited to 'Src') diff --git a/Src/Builtins/rlimits.awk b/Src/Builtins/rlimits.awk index bf914814d..ccee49e87 100644 --- a/Src/Builtins/rlimits.awk +++ b/Src/Builtins/rlimits.awk @@ -55,6 +55,10 @@ BEGIN {limidx = 0} if (limnam == "NICE") { msg[limnum] = "Nnice" } if (limnam == "RTPRIO") { msg[limnum] = "Nrt_priority" } if (limnam == "RTTIME") { msg[limnum] = "Urt_time" } + if (limnam == "POSIXLOCKS") { msg[limnum] = "Nposixlocks" } + if (limnam == "NPTS") { msg[limnum] = "Npseudoterminals" } + if (limnam == "SWAP") { msg[limnum] = "Mswapuse" } + if (limnam == "KQUEUES") { msg[limnum] = "Nkqueues" } } } } diff --git a/Src/Builtins/rlimits.c b/Src/Builtins/rlimits.c index eedfa969c..a0f294876 100644 --- a/Src/Builtins/rlimits.c +++ b/Src/Builtins/rlimits.c @@ -386,6 +386,32 @@ printulimit(char *nam, int lim, int hard, int head) printf("-r: max rt priority "); break; # endif /* HAVE_RLIMIT_RTPRIO */ +# ifdef HAVE_RLIMIT_POSIXLOCKS + case RLIMIT_POSIXLOCKS: + if (head) + printf("-K: posixlocks "); + break; +# endif /* HAVE_RLIMIT_POSIXLOCKS */ +# ifdef HAVE_RLIMIT_NPTS + case RLIMIT_NPTS: + if (head) + printf("-p: pseudo-terminals "); + break; +# endif /* HAVE_RLIMIT_NPTS */ +# ifdef HAVE_RLIMIT_SWAP + case RLIMIT_SWAP: + if (head) + printf("-w: swap limit (kbytes) "); + if (limit != RLIM_INFINITY) + limit /= 1024; + break; +# endif /* HAVE_RLIMIT_SWAP */ +# ifdef HAVE_RLIMIT_KQUEUES + case RLIMIT_KQUEUES: + if (head) + printf("-k: kqueues "); + break; +# endif /* HAVE_RLIMIT_KQUEUES */ default: if (head) printf("-N %2d: ", lim); @@ -843,6 +869,26 @@ bin_ulimit(char *name, char **argv, UNUSED(Options ops), UNUSED(int func)) case 'r': res = RLIMIT_RTPRIO; break; +# endif +# ifdef HAVE_RLIMIT_POSIXLOCKS + case 'K': + res = RLIMIT_POSIXLOCKS; + break; +# endif +# ifdef HAVE_RLIMIT_NPTS + case 'p': + res = RLIMIT_NPTS; + break; +# endif +# ifdef HAVE_RLIMIT_SWAP + case 'w': + res = RLIMIT_SWAP; + break; +# endif +# ifdef HAVE_RLIMIT_KQUEUES + case 'k': + res = RLIMIT_KQUEUES; + break; # endif default: /* unrecognised limit */ -- cgit 1.4.1