diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | nptl/ChangeLog | 5 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/sysconf.c | 15 |
3 files changed, 17 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog index 204d9964d6..613310212e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2009-02-24 Ulrich Drepper <drepper@redhat.com> + * sysdeps/unix/sysv/linux/sysconf.c (__sysconf): + /proc/sys/kenrel/rtsig_max doesn't exist anymore, use getrlimit + instead. + * io/sys/stat.h: The lstat functions have been mandatory since 2001. * time/tzset.c (tzset_internal): Correct parsing of TZ envvar. diff --git a/nptl/ChangeLog b/nptl/ChangeLog index 530e710526..124c3d6eb1 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -1,3 +1,8 @@ +2009-02-24 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/unix/sysv/linux/bits/posix_opt.h (_BITS_POSIX_OPT_H): + Unify name of include protector macro. + 2009-02-14 SUGIOKA Toshinobu <sugioka@itonet.co.jp> * sysdeps/unix/sysv/linux/sh/lowlevellock.S: Define diff --git a/sysdeps/unix/sysv/linux/sysconf.c b/sysdeps/unix/sysv/linux/sysconf.c index f4e36e0c6f..50c5528dd8 100644 --- a/sysdeps/unix/sysv/linux/sysconf.c +++ b/sysdeps/unix/sysv/linux/sysconf.c @@ -1,5 +1,5 @@ /* Get file-specific information about a file. Linux version. - Copyright (C) 2003, 2004, 2006, 2008 Free Software Foundation, Inc. + Copyright (C) 2003, 2004, 2006, 2008, 2009 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -43,6 +43,7 @@ __sysconf (int name) switch (name) { + struct rlimit rlimit; #ifdef __NR_clock_getres case _SC_MONOTONIC_CLOCK: /* Check using the clock_getres system call. */ @@ -84,12 +85,9 @@ __sysconf (int name) size. */ if (GLRO(dl_discover_osversion) () >= 0x020617) #endif - { - /* Use getrlimit to get the stack limit. */ - struct rlimit rlimit; - if (__getrlimit (RLIMIT_STACK, &rlimit) == 0) - return MAX (legacy_ARG_MAX, rlimit.rlim_cur / 4); - } + /* Use getrlimit to get the stack limit. */ + if (__getrlimit (RLIMIT_STACK, &rlimit) == 0) + return MAX (legacy_ARG_MAX, rlimit.rlim_cur / 4); return legacy_ARG_MAX; @@ -100,6 +98,9 @@ __sysconf (int name) break; case _SC_SIGQUEUE_MAX: + if (__getrlimit (RLIMIT_SIGPENDING, &rlimit) == 0) + return rlimit.rlim_cur; + /* The /proc/sys/kernel/rtsig-max file contains the answer. */ procfname = "/proc/sys/kernel/rtsig-max"; break; |