1/* 2 * ------------------------------------------------------------- 3 * 4 * Module: semaphore.c 5 * 6 * Purpose: 7 * Concatenated version of separate modules to allow 8 * inlining optimisation, which it is assumed can only 9 * be effective within a single module. 10 * 11 * Semaphores aren't actually part of the PThreads standard. 12 * They are defined by the POSIX Standard: 13 * 14 * POSIX 1003.1b-1993 (POSIX.1b) 15 * 16 * ------------------------------------------------------------- 17 * 18 * -------------------------------------------------------------------------- 19 * 20 * Pthreads-win32 - POSIX Threads Library for Win32 21 * Copyright(C) 1998 John E. Bossom 22 * Copyright(C) 1999,2005 Pthreads-win32 contributors 23 * 24 * Contact Email: rpj@callisto.canberra.edu.au 25 * 26 * The current list of contributors is contained 27 * in the file CONTRIBUTORS included with the source 28 * code distribution. The list can also be seen at the 29 * following World Wide Web location: 30 * http://sources.redhat.com/pthreads-win32/contributors.html 31 * 32 * This library is free software; you can redistribute it and/or 33 * modify it under the terms of the GNU Lesser General Public 34 * License as published by the Free Software Foundation; either 35 * version 2 of the License, or (at your option) any later version. 36 * 37 * This library is distributed in the hope that it will be useful, 38 * but WITHOUT ANY WARRANTY; without even the implied warranty of 39 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 40 * Lesser General Public License for more details. 41 * 42 * You should have received a copy of the GNU Lesser General Public 43 * License along with this library in the file COPYING.LIB; 44 * if not, write to the Free Software Foundation, Inc., 45 * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA 46 */ 47 48#if !defined(NEED_FTIME) 49# include <sys/timeb.h> 50#endif 51 52#include <limits.h> 53 54#include "pthread.h" 55#include "semaphore.h" 56#include "implement.h" 57 58 59#include "sem_init.c" 60#include "sem_destroy.c" 61#include "sem_trywait.c" 62#include "sem_wait.c" 63#include "sem_timedwait.c" 64#include "sem_post.c" 65#include "sem_post_multiple.c" 66#include "sem_getvalue.c" 67#include "sem_open.c" 68#include "sem_close.c" 69#include "sem_unlink.c" 70