From d903678ae9b7427be5e63d875344bf4f250546e3 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Wed, 2 Apr 2003 23:49:47 +0000 Subject: Update. 2003-04-02 Ulrich Drepper * 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. --- sysvipc/Makefile | 4 ++-- sysvipc/Versions | 4 ++++ sysvipc/sys/sem.h | 13 ++++++++++++- 3 files changed, 18 insertions(+), 3 deletions(-) (limited to 'sysvipc') 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 +#ifdef __USE_GNU +# define __need_timespec +# include +#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 */ -- cgit v1.2.3