about summary refs log tree commit diff
path: root/sysvipc
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2003-04-02 23:49:47 +0000
committerUlrich Drepper <drepper@redhat.com>2003-04-02 23:49:47 +0000
commitd903678ae9b7427be5e63d875344bf4f250546e3 (patch)
tree9fe355381cf50b7c6b1a9481cba3e431eca7dec1 /sysvipc
parent5fa85e50864ce6f7b7155184ed57530ed01fbea6 (diff)
downloadglibc-d903678ae9b7427be5e63d875344bf4f250546e3.tar.gz
glibc-d903678ae9b7427be5e63d875344bf4f250546e3.tar.xz
glibc-d903678ae9b7427be5e63d875344bf4f250546e3.zip
Update.
2003-04-02  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/ipc_priv.h: Define IPCOP_semtimedop.
	* sysdeps/generic/semtimedop.c: New file.
	* sysdeps/unix/sysv/linux/i386/semtimedop.S: New file.
	* sysdeps/unix/sysv/linux/ia64/syscalls.list: Add semtimedop.
	* sysdeps/unix/sysv/linux/x86_64/syscalls.list: Likewise.
	* sysvipc/Makefile (routines): Add semtimedop.
	* sysvipc/Versions [GLIBC_2.3.3] (glibc): Add semtimedop.
	* sysvipc/sys/sem.h: Declare semtimedop.
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 */