This library is only required by physac module to compulte physics in a second threadpull/135/head
| @ -0,0 +1,150 @@ | |||
| pthreads-win32 - a POSIX threads library for Microsoft Windows | |||
| This file is Copyrighted | |||
| ------------------------ | |||
| This file is covered under the following Copyright: | |||
| Copyright (C) 2001,2006 Ross P. Johnson | |||
| All rights reserved. | |||
| Everyone is permitted to copy and distribute verbatim copies | |||
| of this license document, but changing it is not allowed. | |||
| Pthreads-win32 is covered by the GNU Lesser General Public License | |||
| ------------------------------------------------------------------ | |||
| Pthreads-win32 is open software; you can redistribute it and/or | |||
| modify it under the terms of the GNU Lesser General Public License | |||
| as published by the Free Software Foundation version 2.1 of the | |||
| License. | |||
| Pthreads-win32 is several binary link libraries, several modules, | |||
| associated interface definition files and scripts used to control | |||
| its compilation and installation. | |||
| Pthreads-win32 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 Lesser General Public License for more details. | |||
| A copy of the GNU Lesser General Public License is distributed with | |||
| pthreads-win32 under the filename: | |||
| COPYING.LIB | |||
| You should have received a copy of the version 2.1 GNU Lesser General | |||
| Public License with pthreads-win32; if not, write to: | |||
| Free Software Foundation, Inc. | |||
| 59 Temple Place | |||
| Suite 330 | |||
| Boston, MA 02111-1307 | |||
| USA | |||
| The contact addresses for pthreads-win32 is as follows: | |||
| Web: http://sources.redhat.com/pthreads-win32 | |||
| Email: Ross Johnson | |||
| Please use: Firstname.Lastname@homemail.com.au | |||
| Pthreads-win32 copyrights and exception files | |||
| --------------------------------------------- | |||
| With the exception of the files listed below, Pthreads-win32 | |||
| is covered under the following GNU Lesser General Public License | |||
| Copyrights: | |||
| Pthreads-win32 - POSIX Threads Library for Win32 | |||
| Copyright(C) 1998 John E. Bossom | |||
| Copyright(C) 1999,2006 Pthreads-win32 contributors | |||
| The current list of contributors is contained | |||
| in the file CONTRIBUTORS included with the source | |||
| code distribution. The current list of CONTRIBUTORS | |||
| can also be seen at the following WWW location: | |||
| http://sources.redhat.com/pthreads-win32/contributors.html | |||
| Contact Email: Ross Johnson | |||
| Please use: Firstname.Lastname@homemail.com.au | |||
| These files are not covered under one of the Copyrights listed above: | |||
| COPYING | |||
| COPYING.LIB | |||
| tests/rwlock7.c | |||
| This file, COPYING, is distributed under the Copyright found at the | |||
| top of this file. It is important to note that you may distribute | |||
| verbatim copies of this file but you may not modify this file. | |||
| The file COPYING.LIB, which contains a copy of the version 2.1 | |||
| GNU Lesser General Public License, is itself copyrighted by the | |||
| Free Software Foundation, Inc. Please note that the Free Software | |||
| Foundation, Inc. does NOT have a copyright over Pthreads-win32, | |||
| only the COPYING.LIB that is supplied with pthreads-win32. | |||
| The file tests/rwlock7.c is derived from code written by | |||
| Dave Butenhof for his book 'Programming With POSIX(R) Threads'. | |||
| The original code was obtained by free download from his website | |||
| http://home.earthlink.net/~anneart/family/Threads/source.html | |||
| and did not contain a copyright or author notice. It is assumed to | |||
| be freely distributable. | |||
| In all cases one may use and distribute these exception files freely. | |||
| And because one may freely distribute the LGPL covered files, the | |||
| entire pthreads-win32 source may be freely used and distributed. | |||
| General Copyleft and License info | |||
| --------------------------------- | |||
| For general information on Copylefts, see: | |||
| http://www.gnu.org/copyleft/ | |||
| For information on GNU Lesser General Public Licenses, see: | |||
| http://www.gnu.org/copyleft/lesser.html | |||
| http://www.gnu.org/copyleft/lesser.txt | |||
| Why pthreads-win32 did not use the GNU General Public License | |||
| ------------------------------------------------------------- | |||
| The goal of the pthreads-win32 project has been to | |||
| provide a quality and complete implementation of the POSIX | |||
| threads API for Microsoft Windows within the limits imposed | |||
| by virtue of it being a stand-alone library and not | |||
| linked directly to other POSIX compliant libraries. For | |||
| example, some functions and features, such as those based | |||
| on POSIX signals, are missing. | |||
| Pthreads-win32 is a library, available in several different | |||
| versions depending on supported compilers, and may be used | |||
| as a dynamically linked module or a statically linked set of | |||
| binary modules. It is not an application on it's own. | |||
| It was fully intended that pthreads-win32 be usable with | |||
| commercial software not covered by either the GPL or the LGPL | |||
| licenses. Pthreads-win32 has many contributors to it's | |||
| code base, many of whom have done so because they have | |||
| used the library in commercial or proprietry software | |||
| projects. | |||
| Releasing pthreads-win32 under the LGPL ensures that the | |||
| library can be used widely, while at the same time ensures | |||
| that bug fixes and improvements to the pthreads-win32 code | |||
| itself is returned to benefit all current and future users | |||
| of the library. | |||
| Although pthreads-win32 makes it possible for applications | |||
| that use POSIX threads to be ported to Win32 platforms, the | |||
| broader goal of the project is to encourage the use of open | |||
| standards, and in particular, to make it just a little easier | |||
| for developers writing Win32 applications to consider | |||
| widening the potential market for their products. | |||
| @ -0,0 +1,183 @@ | |||
| /* | |||
| * Module: sched.h | |||
| * | |||
| * Purpose: | |||
| * Provides an implementation of POSIX realtime extensions | |||
| * as defined in | |||
| * | |||
| * POSIX 1003.1b-1993 (POSIX.1b) | |||
| * | |||
| * -------------------------------------------------------------------------- | |||
| * | |||
| * Pthreads-win32 - POSIX Threads Library for Win32 | |||
| * Copyright(C) 1998 John E. Bossom | |||
| * Copyright(C) 1999,2005 Pthreads-win32 contributors | |||
| * | |||
| * Contact Email: rpj@callisto.canberra.edu.au | |||
| * | |||
| * The current list of contributors is contained | |||
| * in the file CONTRIBUTORS included with the source | |||
| * code distribution. The list can also be seen at the | |||
| * following World Wide Web location: | |||
| * http://sources.redhat.com/pthreads-win32/contributors.html | |||
| * | |||
| * This library is free software; you can redistribute it and/or | |||
| * modify it under the terms of the GNU Lesser General Public | |||
| * License as published by the Free Software Foundation; either | |||
| * version 2 of the License, or (at your option) any later version. | |||
| * | |||
| * This library 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 | |||
| * Lesser General Public License for more details. | |||
| * | |||
| * You should have received a copy of the GNU Lesser General Public | |||
| * License along with this library in the file COPYING.LIB; | |||
| * if not, write to the Free Software Foundation, Inc., | |||
| * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA | |||
| */ | |||
| #if !defined(_SCHED_H) | |||
| #define _SCHED_H | |||
| #undef PTW32_SCHED_LEVEL | |||
| #if defined(_POSIX_SOURCE) | |||
| #define PTW32_SCHED_LEVEL 0 | |||
| /* Early POSIX */ | |||
| #endif | |||
| #if defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE >= 199309 | |||
| #undef PTW32_SCHED_LEVEL | |||
| #define PTW32_SCHED_LEVEL 1 | |||
| /* Include 1b, 1c and 1d */ | |||
| #endif | |||
| #if defined(INCLUDE_NP) | |||
| #undef PTW32_SCHED_LEVEL | |||
| #define PTW32_SCHED_LEVEL 2 | |||
| /* Include Non-Portable extensions */ | |||
| #endif | |||
| #define PTW32_SCHED_LEVEL_MAX 3 | |||
| #if ( defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE >= 200112 ) || !defined(PTW32_SCHED_LEVEL) | |||
| #define PTW32_SCHED_LEVEL PTW32_SCHED_LEVEL_MAX | |||
| /* Include everything */ | |||
| #endif | |||
| #if defined(__GNUC__) && !defined(__declspec) | |||
| # error Please upgrade your GNU compiler to one that supports __declspec. | |||
| #endif | |||
| /* | |||
| * When building the library, you should define PTW32_BUILD so that | |||
| * the variables/functions are exported correctly. When using the library, | |||
| * do NOT define PTW32_BUILD, and then the variables/functions will | |||
| * be imported correctly. | |||
| */ | |||
| #if !defined(PTW32_STATIC_LIB) | |||
| # if defined(PTW32_BUILD) | |||
| # define PTW32_DLLPORT __declspec (dllexport) | |||
| # else | |||
| # define PTW32_DLLPORT __declspec (dllimport) | |||
| # endif | |||
| #else | |||
| # define PTW32_DLLPORT | |||
| #endif | |||
| /* | |||
| * This is a duplicate of what is in the autoconf config.h, | |||
| * which is only used when building the pthread-win32 libraries. | |||
| */ | |||
| #if !defined(PTW32_CONFIG_H) | |||
| # if defined(WINCE) | |||
| # define NEED_ERRNO | |||
| # define NEED_SEM | |||
| # endif | |||
| # if defined(__MINGW64__) | |||
| # define HAVE_STRUCT_TIMESPEC | |||
| # define HAVE_MODE_T | |||
| # elif defined(_UWIN) || defined(__MINGW32__) | |||
| # define HAVE_MODE_T | |||
| # endif | |||
| #endif | |||
| /* | |||
| * | |||
| */ | |||
| #if PTW32_SCHED_LEVEL >= PTW32_SCHED_LEVEL_MAX | |||
| #if defined(NEED_ERRNO) | |||
| #include "need_errno.h" | |||
| #else | |||
| #include <errno.h> | |||
| #endif | |||
| #endif /* PTW32_SCHED_LEVEL >= PTW32_SCHED_LEVEL_MAX */ | |||
| #if (defined(__MINGW64__) || defined(__MINGW32__)) || defined(_UWIN) | |||
| # if PTW32_SCHED_LEVEL >= PTW32_SCHED_LEVEL_MAX | |||
| /* For pid_t */ | |||
| # include <sys/types.h> | |||
| /* Required by Unix 98 */ | |||
| # include <time.h> | |||
| # else | |||
| typedef int pid_t; | |||
| # endif | |||
| #else | |||
| typedef int pid_t; | |||
| #endif | |||
| /* Thread scheduling policies */ | |||
| enum { | |||
| SCHED_OTHER = 0, | |||
| SCHED_FIFO, | |||
| SCHED_RR, | |||
| SCHED_MIN = SCHED_OTHER, | |||
| SCHED_MAX = SCHED_RR | |||
| }; | |||
| struct sched_param { | |||
| int sched_priority; | |||
| }; | |||
| #if defined(__cplusplus) | |||
| extern "C" | |||
| { | |||
| #endif /* __cplusplus */ | |||
| PTW32_DLLPORT int __cdecl sched_yield (void); | |||
| PTW32_DLLPORT int __cdecl sched_get_priority_min (int policy); | |||
| PTW32_DLLPORT int __cdecl sched_get_priority_max (int policy); | |||
| PTW32_DLLPORT int __cdecl sched_setscheduler (pid_t pid, int policy); | |||
| PTW32_DLLPORT int __cdecl sched_getscheduler (pid_t pid); | |||
| /* | |||
| * Note that this macro returns ENOTSUP rather than | |||
| * ENOSYS as might be expected. However, returning ENOSYS | |||
| * should mean that sched_get_priority_{min,max} are | |||
| * not implemented as well as sched_rr_get_interval. | |||
| * This is not the case, since we just don't support | |||
| * round-robin scheduling. Therefore I have chosen to | |||
| * return the same value as sched_setscheduler when | |||
| * SCHED_RR is passed to it. | |||
| */ | |||
| #define sched_rr_get_interval(_pid, _interval) \ | |||
| ( errno = ENOTSUP, (int) -1 ) | |||
| #if defined(__cplusplus) | |||
| } /* End of extern "C" */ | |||
| #endif /* __cplusplus */ | |||
| #undef PTW32_SCHED_LEVEL | |||
| #undef PTW32_SCHED_LEVEL_MAX | |||
| #endif /* !_SCHED_H */ | |||
| @ -0,0 +1,169 @@ | |||
| /* | |||
| * Module: semaphore.h | |||
| * | |||
| * Purpose: | |||
| * Semaphores aren't actually part of the PThreads standard. | |||
| * They are defined by the POSIX Standard: | |||
| * | |||
| * POSIX 1003.1b-1993 (POSIX.1b) | |||
| * | |||
| * -------------------------------------------------------------------------- | |||
| * | |||
| * Pthreads-win32 - POSIX Threads Library for Win32 | |||
| * Copyright(C) 1998 John E. Bossom | |||
| * Copyright(C) 1999,2005 Pthreads-win32 contributors | |||
| * | |||
| * Contact Email: rpj@callisto.canberra.edu.au | |||
| * | |||
| * The current list of contributors is contained | |||
| * in the file CONTRIBUTORS included with the source | |||
| * code distribution. The list can also be seen at the | |||
| * following World Wide Web location: | |||
| * http://sources.redhat.com/pthreads-win32/contributors.html | |||
| * | |||
| * This library is free software; you can redistribute it and/or | |||
| * modify it under the terms of the GNU Lesser General Public | |||
| * License as published by the Free Software Foundation; either | |||
| * version 2 of the License, or (at your option) any later version. | |||
| * | |||
| * This library 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 | |||
| * Lesser General Public License for more details. | |||
| * | |||
| * You should have received a copy of the GNU Lesser General Public | |||
| * License along with this library in the file COPYING.LIB; | |||
| * if not, write to the Free Software Foundation, Inc., | |||
| * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA | |||
| */ | |||
| #if !defined( SEMAPHORE_H ) | |||
| #define SEMAPHORE_H | |||
| #undef PTW32_SEMAPHORE_LEVEL | |||
| #if defined(_POSIX_SOURCE) | |||
| #define PTW32_SEMAPHORE_LEVEL 0 | |||
| /* Early POSIX */ | |||
| #endif | |||
| #if defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE >= 199309 | |||
| #undef PTW32_SEMAPHORE_LEVEL | |||
| #define PTW32_SEMAPHORE_LEVEL 1 | |||
| /* Include 1b, 1c and 1d */ | |||
| #endif | |||
| #if defined(INCLUDE_NP) | |||
| #undef PTW32_SEMAPHORE_LEVEL | |||
| #define PTW32_SEMAPHORE_LEVEL 2 | |||
| /* Include Non-Portable extensions */ | |||
| #endif | |||
| #define PTW32_SEMAPHORE_LEVEL_MAX 3 | |||
| #if !defined(PTW32_SEMAPHORE_LEVEL) | |||
| #define PTW32_SEMAPHORE_LEVEL PTW32_SEMAPHORE_LEVEL_MAX | |||
| /* Include everything */ | |||
| #endif | |||
| #if defined(__GNUC__) && ! defined (__declspec) | |||
| # error Please upgrade your GNU compiler to one that supports __declspec. | |||
| #endif | |||
| /* | |||
| * When building the library, you should define PTW32_BUILD so that | |||
| * the variables/functions are exported correctly. When using the library, | |||
| * do NOT define PTW32_BUILD, and then the variables/functions will | |||
| * be imported correctly. | |||
| */ | |||
| #if !defined(PTW32_STATIC_LIB) | |||
| # if defined(PTW32_BUILD) | |||
| # define PTW32_DLLPORT __declspec (dllexport) | |||
| # else | |||
| # define PTW32_DLLPORT __declspec (dllimport) | |||
| # endif | |||
| #else | |||
| # define PTW32_DLLPORT | |||
| #endif | |||
| /* | |||
| * This is a duplicate of what is in the autoconf config.h, | |||
| * which is only used when building the pthread-win32 libraries. | |||
| */ | |||
| #if !defined(PTW32_CONFIG_H) | |||
| # if defined(WINCE) | |||
| # define NEED_ERRNO | |||
| # define NEED_SEM | |||
| # endif | |||
| # if defined(__MINGW64__) | |||
| # define HAVE_STRUCT_TIMESPEC | |||
| # define HAVE_MODE_T | |||
| # elif defined(_UWIN) || defined(__MINGW32__) | |||
| # define HAVE_MODE_T | |||
| # endif | |||
| #endif | |||
| /* | |||
| * | |||
| */ | |||
| #if PTW32_SEMAPHORE_LEVEL >= PTW32_SEMAPHORE_LEVEL_MAX | |||
| #if defined(NEED_ERRNO) | |||
| #include "need_errno.h" | |||
| #else | |||
| #include <errno.h> | |||
| #endif | |||
| #endif /* PTW32_SEMAPHORE_LEVEL >= PTW32_SEMAPHORE_LEVEL_MAX */ | |||
| #define _POSIX_SEMAPHORES | |||
| #if defined(__cplusplus) | |||
| extern "C" | |||
| { | |||
| #endif /* __cplusplus */ | |||
| #if !defined(HAVE_MODE_T) | |||
| typedef unsigned int mode_t; | |||
| #endif | |||
| typedef struct sem_t_ * sem_t; | |||
| PTW32_DLLPORT int __cdecl sem_init (sem_t * sem, | |||
| int pshared, | |||
| unsigned int value); | |||
| PTW32_DLLPORT int __cdecl sem_destroy (sem_t * sem); | |||
| PTW32_DLLPORT int __cdecl sem_trywait (sem_t * sem); | |||
| PTW32_DLLPORT int __cdecl sem_wait (sem_t * sem); | |||
| PTW32_DLLPORT int __cdecl sem_timedwait (sem_t * sem, | |||
| const struct timespec * abstime); | |||
| PTW32_DLLPORT int __cdecl sem_post (sem_t * sem); | |||
| PTW32_DLLPORT int __cdecl sem_post_multiple (sem_t * sem, | |||
| int count); | |||
| PTW32_DLLPORT int __cdecl sem_open (const char * name, | |||
| int oflag, | |||
| mode_t mode, | |||
| unsigned int value); | |||
| PTW32_DLLPORT int __cdecl sem_close (sem_t * sem); | |||
| PTW32_DLLPORT int __cdecl sem_unlink (const char * name); | |||
| PTW32_DLLPORT int __cdecl sem_getvalue (sem_t * sem, | |||
| int * sval); | |||
| #if defined(__cplusplus) | |||
| } /* End of extern "C" */ | |||
| #endif /* __cplusplus */ | |||
| #undef PTW32_SEMAPHORE_LEVEL | |||
| #undef PTW32_SEMAPHORE_LEVEL_MAX | |||
| #endif /* !SEMAPHORE_H */ | |||