From ad2a3c0750f79662d03a870bdd06e71f4a0aeca9 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Tue, 15 Aug 2006 05:27:55 +0000 Subject: * sysdeps/unix/sysv/linux/sparc/sparc64/pause.c: Use sysdeps/posix/pause.c implementation instead. 2006-08-09 Jakub Jelinek * sysdeps/unix/nice.c (nice): Transform EACCES errno from setpriority to EPERM. --- ChangeLog | 10 ++++++ NEWS | 4 ++- sysdeps/unix/nice.c | 15 +++++---- sysdeps/unix/sysv/linux/sparc/sparc64/pause.c | 48 +-------------------------- 4 files changed, 23 insertions(+), 54 deletions(-) diff --git a/ChangeLog b/ChangeLog index 716dbe3d71..e54bd15b93 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2006-08-15 Jakub Jelinek + + * sysdeps/unix/sysv/linux/sparc/sparc64/pause.c: Use + sysdeps/posix/pause.c implementation instead. + +2006-08-09 Jakub Jelinek + + * sysdeps/unix/nice.c (nice): Transform EACCES errno from setpriority + to EPERM. + 2006-08-13 Andreas Schwab * sysdeps/powerpc/powerpc32/dl-trampoline.S (_dl_runtime_resolve): diff --git a/NEWS b/NEWS index 55855ad81a..14abed4782 100644 --- a/NEWS +++ b/NEWS @@ -1,4 +1,4 @@ -GNU C Library NEWS -- history of user-visible changes. 2006-07-28 +GNU C Library NEWS -- history of user-visible changes. 2006-08-14 Copyright (C) 1992-2002,2003,2004,2005,2006 Free Software Foundation, Inc. See the end for copying conditions. @@ -36,6 +36,8 @@ Version 2.5 * Support for priority inheritance mutexes added by Jakub Jelinek and Ulrich Drepper. +* Support for priority protected mutexes added by Jakub Jelinek. + Version 2.4 diff --git a/sysdeps/unix/nice.c b/sysdeps/unix/nice.c index 700305c0e9..eb26c43a60 100644 --- a/sysdeps/unix/nice.c +++ b/sysdeps/unix/nice.c @@ -1,4 +1,5 @@ -/* Copyright (C) 1992, 1996, 1997, 2001, 2002 Free Software Foundation, Inc. +/* Copyright (C) 1992, 1996, 1997, 2001, 2002, 2006 + 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 @@ -42,9 +43,11 @@ nice (int incr) } result = setpriority (PRIO_PROCESS, 0, prio + incr); - if (result != -1) - return getpriority (PRIO_PROCESS, 0); - else - return -1; - + if (result == -1) + { + if (errno == EACCES) + errno = EPERM; + return -1; + } + return getpriority (PRIO_PROCESS, 0); } diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/pause.c b/sysdeps/unix/sysv/linux/sparc/sparc64/pause.c index 40fab28d47..2ec5bd39ad 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/pause.c +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/pause.c @@ -1,47 +1 @@ -/* pause -- suspend the process until a signal arrives. POSIX.1 version. - Copyright (C) 2003 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include -#include - -#include -#include -#include - -/* Suspend the process until a signal arrives. - This always returns -1 and sets errno to EINTR. */ -int -__libc_pause (void) -{ - sigset_t set; - - __sigemptyset (&set); - INLINE_SYSCALL (rt_sigprocmask, 4, SIG_BLOCK, CHECK_SIGSET (NULL), - CHECK_SIGSET_NULL_OK (&set), _NSIG / 8); - - /* pause is a cancellation point, but so is sigsuspend. - So no need for anything special here. */ - - return __sigsuspend (&set); -} -weak_alias (__libc_pause, pause) - -LIBC_CANCEL_HANDLED (); /* sigsuspend handles our cancellation. */ +#include -- cgit v1.2.3