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 */ |