about summary refs log tree commit diff
path: root/sysvipc
diff options
context:
space:
mode:
Diffstat (limited to 'sysvipc')
-rw-r--r--sysvipc/Makefile4
-rw-r--r--sysvipc/Versions4
-rw-r--r--sysvipc/sys/sem.h13
3 files changed, 18 insertions, 3 deletions
diff --git a/sysvipc/Makefile b/sysvipc/Makefile
index 0e4c105c3d..62016d287b 100644
--- a/sysvipc/Makefile
+++ b/sysvipc/Makefile
@@ -1,4 +1,4 @@
-# Copyright (C) 1995, 1996, 1997, 2002 Free Software Foundation, Inc.
+# Copyright (C) 1995, 1996, 1997, 2002, 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
@@ -26,7 +26,7 @@ headers	:= sys/ipc.h sys/msg.h sys/sem.h sys/shm.h \
 
 routines := ftok \
 	    msgsnd msgrcv msgget msgctl \
-	    semop semget semctl \
+	    semop semget semctl semtimedop \
 	    shmat shmdt shmget shmctl
 
 include ../Rules
diff --git a/sysvipc/Versions b/sysvipc/Versions
index 57ebc1f17e..4c797e25ce 100644
--- a/sysvipc/Versions
+++ b/sysvipc/Versions
@@ -9,6 +9,10 @@ libc {
     # s*
     semctl; semget; semop; shmat; shmctl; shmdt; shmget;
   }
+  GLIBC_2.3.3 {
+    # Non-standard function.
+    semtimedop;
+  }
   GLIBC_PRIVATE {
     # Cancellation point entries.
     __libc_msgrcv; __libc_msgsnd;
diff --git a/sysvipc/sys/sem.h b/sysvipc/sys/sem.h
index 5b1d38f529..24a57fc32e 100644
--- a/sysvipc/sys/sem.h
+++ b/sysvipc/sys/sem.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995-1999, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1995-1999, 2000, 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
@@ -30,6 +30,11 @@
 /* Get system dependent definition of `struct semid_ds' and more.  */
 #include <bits/sem.h>
 
+#ifdef __USE_GNU
+# define __need_timespec
+# include <time.h>
+#endif
+
 /* The following System V style IPC functions implement a semaphore
    handling.  The definition is found in XPG2.  */
 
@@ -53,6 +58,12 @@ extern int semget (key_t __key, int __nsems, int __semflg) __THROW;
 /* Operate on semaphore.  */
 extern int semop (int __semid, struct sembuf *__sops, size_t __nsops) __THROW;
 
+#ifdef __USE_GNU
+/* Operate on semaphore with timeout.  */
+extern int semtimedop (int __semid, struct sembuf *__sops, size_t __nsops,
+		       __const struct timespec *__timeout) __THROW;
+#endif
+
 __END_DECLS
 
 #endif /* sys/sem.h */