From 5be0a68819a574efc3d5a33b9f6dc11dfcb4f630 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Tue, 24 Feb 2009 23:34:08 +0000 Subject: [PATCH] * sysdeps/unix/sysv/linux/sysconf.c (__sysconf): /proc/sys/kenrel/rtsig_max doesn't exist anymore, use getrlimit instead. --- ChangeLog | 4 ++++ nptl/ChangeLog | 5 +++++ sysdeps/unix/sysv/linux/sysconf.c | 15 ++++++++------- 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index 204d996..6133102 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2009-02-24 Ulrich Drepper + * 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 530e710..124c3d6 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -1,3 +1,8 @@ +2009-02-24 Ulrich Drepper + + * sysdeps/unix/sysv/linux/bits/posix_opt.h (_BITS_POSIX_OPT_H): + Unify name of include protector macro. + 2009-02-14 SUGIOKA Toshinobu * 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 f4e36e0..50c5528 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; -- 2.7.4