diff options
author | Ulrich Drepper <drepper@redhat.com> | 2008-03-27 15:20:38 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2008-03-27 15:20:38 +0000 |
commit | f96853beafc26d4f030961b0b67a79b5bfad5733 (patch) | |
tree | a8480225d97a7eeeccee963ce5a7bae53d296dba /sysdeps/unix/sysv/linux/sysconf.c | |
parent | fde15fdc5bea3d66be8fa967031ab89707b08a39 (diff) | |
download | glibc-f96853beafc26d4f030961b0b67a79b5bfad5733.tar.gz glibc-f96853beafc26d4f030961b0b67a79b5bfad5733.tar.xz glibc-f96853beafc26d4f030961b0b67a79b5bfad5733.zip |
* sysdeps/unix/sysv/linux/bits/local_lim.h: Undefined ARG_MAX if
<linux/limits.h> has defined it. * sysdeps/unix/sysv/linux/sys/param.h: Define NCARGS to the legacy ARG_MAX value and prevent ARG_MAX from being defined by the kernel headers. * sysdeps/unix/sysv/linux/sysconf.c: Define legacy_ARG_MAX and use it instead of ARG_MAX.
Diffstat (limited to 'sysdeps/unix/sysv/linux/sysconf.c')
-rw-r--r-- | sysdeps/unix/sysv/linux/sysconf.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/sysdeps/unix/sysv/linux/sysconf.c b/sysdeps/unix/sysv/linux/sysconf.c index ab9cddc306..f4e36e0c6f 100644 --- a/sysdeps/unix/sysv/linux/sysconf.c +++ b/sysdeps/unix/sysv/linux/sysconf.c @@ -27,6 +27,11 @@ #include <not-cancel.h> #include <ldsodefs.h> +/* Legacy value of ARG_MAX. The macro is now not defined since the + actual value varies based on the stack size. */ +#define legacy_ARG_MAX 131072 + + static long int posix_sysconf (int name); @@ -83,10 +88,10 @@ __sysconf (int name) /* Use getrlimit to get the stack limit. */ struct rlimit rlimit; if (__getrlimit (RLIMIT_STACK, &rlimit) == 0) - return MAX (ARG_MAX, rlimit.rlim_cur / 4); + return MAX (legacy_ARG_MAX, rlimit.rlim_cur / 4); } - return ARG_MAX; + return legacy_ARG_MAX; case _SC_NGROUPS_MAX: /* Try to read the information from the /proc/sys/kernel/ngroups_max |