aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2006-08-15 05:27:55 +0000
committerUlrich Drepper <drepper@redhat.com>2006-08-15 05:27:55 +0000
commitad2a3c0750f79662d03a870bdd06e71f4a0aeca9 (patch)
tree11ab277f70365641343b2874b5d3163c25a63c04
parentf17efcb43e500d4af62b71bd6f286af831069b5a (diff)
downloadglibc-cvs/fedora-glibc-20060815T0533.zip
glibc-cvs/fedora-glibc-20060815T0533.tar.gz
glibc-cvs/fedora-glibc-20060815T0533.tar.bz2
* sysdeps/unix/sysv/linux/sparc/sparc64/pause.c: Usecvs/fedora-glibc-20060815T0533
sysdeps/posix/pause.c implementation instead. 2006-08-09 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/nice.c (nice): Transform EACCES errno from setpriority to EPERM.
-rw-r--r--ChangeLog10
-rw-r--r--NEWS4
-rw-r--r--sysdeps/unix/nice.c15
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/pause.c48
4 files changed, 23 insertions, 54 deletions
diff --git a/ChangeLog b/ChangeLog
index 716dbe3..e54bd15 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2006-08-15 Jakub Jelinek <jakub@redhat.com>
+
+ * sysdeps/unix/sysv/linux/sparc/sparc64/pause.c: Use
+ sysdeps/posix/pause.c implementation instead.
+
+2006-08-09 Jakub Jelinek <jakub@redhat.com>
+
+ * sysdeps/unix/nice.c (nice): Transform EACCES errno from setpriority
+ to EPERM.
+
2006-08-13 Andreas Schwab <schwab@suse.de>
* sysdeps/powerpc/powerpc32/dl-trampoline.S (_dl_runtime_resolve):
diff --git a/NEWS b/NEWS
index 55855ad..14abed4 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 700305c..eb26c43 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 40fab28..2ec5bd3 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 <errno.h>
-#include <signal.h>
-#include <unistd.h>
-#include <sysdep-cancel.h>
-
-#include <sysdep.h>
-#include <sys/syscall.h>
-#include <bp-checks.h>
-
-/* 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 <sysdeps/posix/pause.c>