8325d82cf3
1998-10-02 Andreas Jaeger <aj@arthur.rhein-neckar.de> * sysdeps/unix/sysv/linux/sys/swap.h (SWAP_FLAG_PREFER, SWAP_FLAG_PRIO_MASK,SWAP_FLAG_PRIO_SHIFT): Added. Remove inclusion of <linux/swap.h>. 1998-10-05 Ulrich Drepper <drepper@cygnus.com> * io/sys/stat.h: Use __P in definitions of inline stat functions so that they match the declaration. 1998-10-02 Andreas Jaeger <aj@arthur.rhein-neckar.de> * sysdeps/unix/sysv/linux/sys/quota.h (Q_RSQUASH): Added. 1998-10-02 Andreas Jaeger <aj@arthur.rhein-neckar.de> * sysdeps/unix/sysv/linux/sys/acct.h: Bring in sync with current linux 2.1 version. 1998-10-02 Philip Blundell <pb@nexus.co.uk> * sysdeps/arm/dl-machine.h: Fix typo in last change. * sysdeps/arm/bits/huge_val.h: New file. 1998-10-02 Andreas Jaeger <aj@arthur.rhein-neckar.de> * sysdeps/unix/sysv/linux/sys/reboot.h (RB_POWER_OFF): Added. * sysdeps/unix/sysv/linux/sys/ptrace.h (PTRACE_SYSCALL): Add define. 1998-10-05 Ulrich Drepper <drepper@cygnus.com> * sysdeps/posix/getcwd.c (__getcwd): Use temporary variable to store result of realloc instead of using BUF. 1998-10-04 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/sgtty.h (_SGTTY_H): Correct spelling. Reported by Rouben Rostamian <rostamian@umbc.edu> [PR libc/817]. 1998-10-04 Andreas Jaeger <aj@arthur.rhein-neckar.de> * manual/memory.texi (Obstacks): Document obstack_alloc_failed_handler usage. * malloc/obstack.h: Enhance comment about obstack_alloc_failed_handler usage. * malloc/obstack.c: Likewise. 1998-10-05 Ulrich Drepper <drepper@cygnus.com> * misc/sys/cdefs.h (__extension__): Define as empty if no gcc or gcc before 2.8 is used. 1998-10-01 Philip Blundell <pb@nexus.co.uk> * sysdeps/arm/machine-gmon.h: Correct args to mcount(). Patch from Scott Bambrough. * sysdeps/unix/sysv/linux/arm/register-dump.h: New file. * libio/libioP.h (FILEBUF_LITERAL) [! _IO_MTSAFE_IO]: Don't include the lock member. 1998-09-03 Philip Blundell <pb@nexus.co.uk> * sysdeps/arm/fpu/__longjmp.S: Cope with fussy assembler. 1998-09-29 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * string/bits/string2.h (__string2_1bptr_p): Don't use a statement expression. (__mempcpy, strcpy, __stpcpy, strcmp, strcspn, strspn, strpbrk, __strsep): Greatly reduce size of expansion by combining common expressions. (__mempcpy_small, __strcpy_small, __stpcpy_small): Convert to inline function. (__mempcpy_args, __strcpy_args, __stpcpy_args): New macros, used by the above definitions. 1998-09-27 Geoff Keating <geoffk@ozemail.com.au> * sysdeps/unix/sysv/linux/powerpc/bits/ipc.h: New file, use correct struct ipc_perm definition. 1998-09-29 Thorsten Kukuk <kukuk@vt.uni-paderborn.de> * nis/ypclnt.c (yp_all): Close UDP socket und give CLIENT handle free. * sysdeps/unix/sysv/linux/alpha/ioperm.c: List Ruffian in platforms[]. * sysdeps/unix/sysv/linux/net/if_shaper.h: New file.
43 lines
1.6 KiB
C
43 lines
1.6 KiB
C
/* Linuxthreads - a simple clone()-based implementation of Posix */
|
|
/* threads for Linux. */
|
|
/* Copyright (C) 1996 Xavier Leroy (Xavier.Leroy@inria.fr) */
|
|
/* */
|
|
/* This program is free software; you can redistribute it and/or */
|
|
/* modify it under the terms of the GNU Library General Public License */
|
|
/* as published by the Free Software Foundation; either version 2 */
|
|
/* of the License, or (at your option) any later version. */
|
|
/* */
|
|
/* This program is distributed in the hope that it will be useful, */
|
|
/* but WITHOUT ANY WARRANTY; without even the implied warranty of */
|
|
/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
|
|
/* GNU Library General Public License for more details. */
|
|
|
|
#ifndef _SEMAPHORE_H
|
|
#define _SEMAPHORE_H 1
|
|
|
|
#include <features.h>
|
|
#include <sys/types.h>
|
|
|
|
#include <limits.h>
|
|
|
|
#define SEM_VALUE_MAX INT_MAX
|
|
|
|
typedef struct {
|
|
struct { long status; int spinlock; } sem_lock;
|
|
int sem_value;
|
|
_pthread_descr sem_waiting;
|
|
} sem_t;
|
|
|
|
__BEGIN_DECLS
|
|
|
|
extern int sem_init __P((sem_t *__sem, int __pshared, unsigned int __value));
|
|
extern int sem_destroy __P((sem_t *__sem));
|
|
extern int sem_wait __P((sem_t *__sem));
|
|
extern int sem_trywait __P((sem_t *__sem));
|
|
extern int sem_post __P((sem_t *__sem));
|
|
extern int sem_getvalue __P((sem_t *__sem, int *__sval));
|
|
|
|
__END_DECLS
|
|
|
|
#endif /* semaphore.h */
|