[git commit] sysconf: use getrlimit to determine ARG_MAX
Bernhard Reutner-Fischer
rep.dot.nop at gmail.com
Tue Apr 17 22:31:03 UTC 2012
commit: http://git.uclibc.org/uClibc/commit/?id=4b24c5ad368d0312dbb9cfd6e028a3b21bba48cd
branch: http://git.uclibc.org/uClibc/commit/?id=refs/heads/master
getrlimit previously was only called for NPTL (why?), fix that to be
used everywhere.
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop at gmail.com>
---
libc/unistd/sysconf.c | 14 ++++++--------
1 files changed, 6 insertions(+), 8 deletions(-)
diff --git a/libc/unistd/sysconf.c b/libc/unistd/sysconf.c
index c1b3c86..c049dc9 100644
--- a/libc/unistd/sysconf.c
+++ b/libc/unistd/sysconf.c
@@ -31,14 +31,14 @@
#include <sys/syscall.h>
#include <sys/sysinfo.h>
#include <sys/types.h>
+#include <sys/param.h>
#ifdef __UCLIBC_HAS_REGEX__
#include <regex.h>
#endif
#ifdef __UCLIBC_HAS_THREADS_NATIVE__
#include <sysdep.h>
-#include <sys/resource.h>
-
#endif
+#include <sys/resource.h>
#include <string.h>
#include <dirent.h>
#include "internal/parse_config.h"
@@ -154,9 +154,8 @@ static int nprocessors_conf(void)
/* Get the value of the system variable NAME. */
long int sysconf(int name)
{
-#ifdef __UCLIBC_HAS_THREADS_NATIVE__
- struct rlimit rlimit;
-#endif
+ struct rlimit rlimit;
+
switch (name)
{
default:
@@ -164,14 +163,13 @@ long int sysconf(int name)
return -1;
case _SC_ARG_MAX:
-#ifdef __UCLIBC_HAS_THREADS_NATIVE__
/* Use getrlimit to get the stack limit. */
if (getrlimit (RLIMIT_STACK, &rlimit) == 0)
return MAX (legacy_ARG_MAX, rlimit.rlim_cur / 4);
-#elif defined ARG_MAX
+#if defined ARG_MAX
return ARG_MAX;
#else
- RETURN_NEG_1;
+ return legacy_ARG_MAX;
#endif
case _SC_CHILD_MAX:
More information about the uClibc-cvs
mailing list