aboutsummaryrefslogtreecommitdiff
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
parentGeneric semtimedop implementation. (diff)
downloadglibc-d903678ae9b7427be5e63d875344bf4f250546e3.tar.gz
glibc-d903678ae9b7427be5e63d875344bf4f250546e3.tar.bz2
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 */