(sem_open): Return SEM_FAILED if existing semaphore must be used and
authordrepper <drepper>
Wed, 15 Jan 2003 06:55:41 +0000 (06:55 +0000)
committerdrepper <drepper>
Wed, 15 Jan 2003 06:55:41 +0000 (06:55 +0000)
mapping failed.

nptl/sem_open.c

index e8ef8f5..0ed8001 100644 (file)
@@ -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
     {