about summary refs log tree commit diff
path: root/nptl
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2003-01-15 07:15:24 +0000
committerUlrich Drepper <drepper@redhat.com>2003-01-15 07:15:24 +0000
commita8d87c92cd0f6705c4adb5b8ab786aed249380c6 (patch)
tree3294c0aa322e7c6ae8dc552eabacbdda84c785ec /nptl
parent574b892ef1054ea999a136b3cb2321a65e3f1a17 (diff)
downloadglibc-a8d87c92cd0f6705c4adb5b8ab786aed249380c6.tar.gz
glibc-a8d87c92cd0f6705c4adb5b8ab786aed249380c6.tar.xz
glibc-a8d87c92cd0f6705c4adb5b8ab786aed249380c6.zip
Update.
2003-01-14  Ulrich Drepper  <drepper@redhat.com>

	* manual/install.texi: Correct description of header preparation for
	Linux build.  Patch by mhwood@Ameritech.Net [PR libc/4941].
Diffstat (limited to 'nptl')
-rw-r--r--nptl/Banner2
-rw-r--r--nptl/ChangeLog4
-rw-r--r--nptl/sem_open.c4
3 files changed, 8 insertions, 2 deletions
diff --git a/nptl/Banner b/nptl/Banner
index aaca2401a2..9a3a874c34 100644
--- a/nptl/Banner
+++ b/nptl/Banner
@@ -1 +1 @@
-NPTL 0.16 by Ulrich Drepper
+NPTL 0.17 by Ulrich Drepper
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index 0d7a57b403..4d1f8ccfde 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,5 +1,9 @@
 2003-01-14  Ulrich Drepper  <drepper@redhat.com>
 
+	* sem_open.c (sem_open): Return SEM_FAILED if existing semaphore
+	must be used and mapping failed.
+	Reported by Luke Elliott <luke.elliott@activfinancial.com>.
+
 	* Makefile (CFLAGS-pthread_self.os): Define this, not
 	CFLAGS-pthread_self.c.
 
diff --git a/nptl/sem_open.c b/nptl/sem_open.c
index e8ef8f5f77..0ed8001204 100644
--- a/nptl/sem_open.c
+++ b/nptl/sem_open.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
 
@@ -169,6 +169,8 @@ sem_open (const char *name, int oflag, ...)
       /* Map the sem_t structure from the file.  */
       result = (sem_t *) mmap (NULL, sizeof (sem_t), PROT_READ | PROT_WRITE,
 			       MAP_SHARED, fd, 0);
+      if (MAP_FAILED != (void *) SEM_FAILED && result == MAP_FAILED)
+	result = SEM_FAILED;
     }
   else
     {