diff options
| -rw-r--r-- | ChangeLog | 7 | ||||
| -rw-r--r-- | global.c | 23 | ||||
| -rw-r--r-- | pthread.h | 30 | 
3 files changed, 50 insertions, 10 deletions
| @@ -1,5 +1,12 @@  Sun Jul 26 00:09:59 1998  Ross Johnson  <rpj@ixobrychus.canberra.edu.au> +	* pthread.h: Converting PTHREAD_* defines to alias the (const int) +	values in global.c. + +	* global.c: Started converting PTHREAD_* defines to (const int) as + 	a part of making the eventual pthreads DLL binary compatible + 	through version changes. +  	* condvar.c (cond_wait): Add cancelation point. This applies the  	point to both pthread_cond_wait() and pthread_cond_timedwait(). @@ -11,6 +11,29 @@  #include "pthread.h"  #include "implement.h" +#define PTHREAD_THREADS_MAX 128 +#define PTHREAD_STACK_MIN   65535 + +/* Convert these to defined when implemented. */ +#define _POSIX_THREAD_ATTR_STACKSIZE +#ifdef _POSIX_THREAD_ATTR_STACKADDR +#undef _POSIX_THREAD_ATTR_STACKADDR +#endif + +/* Making these constants will mean that applications remain binary +   compatible between versions of the DLL. */ + +const int _pthread_create_joinable     = 0; +const int _pthread_create_detached     = 1; + +/* Cancelability attributes */ +const int _pthread_cancel_enable       = 0; +const int _pthread_cancel_disable      = 1; + +const int _pthread_cancel_asynchronous = 0; +const int _pthread_cancel_deferred     = 1; + +  pthread_mutex_t _pthread_count_mutex = PTHREAD_MUTEX_INITIALIZER;  DWORD _pthread_threads_count = 0; @@ -60,16 +60,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  #define SCHED_MIN   SCHED_OTHER  #define SCHED_MAX   SCHED_RR -#define PTHREAD_CREATE_JOINABLE     0 -#define PTHREAD_CREATE_DETACHED     1 - -/* Cancelability attributes */ -#define PTHREAD_CANCEL_ENABLE       0 -#define PTHREAD_CANCEL_DISABLE      1 - -#define PTHREAD_CANCEL_ASYNCHRONOUS 0 -#define PTHREAD_CANCEL_DEFERRED     1 -  /* Cancelation return value.     This value must be neither NULL nor the value of any     pointer to an object in memory. */ @@ -282,6 +272,26 @@ int pthread_cancel(pthread_t thread);  }  #endif /* __cplusplus */ +extern const int _pthread_create_joinable; +extern const int _pthread_create_detached; + +/* Cancelability attributes */ +extern const int _pthread_cancel_enable; +extern const int _pthread_cancel_disable; + +extern const int _pthread_cancel_asynchronous; +extern const int _pthread_cancel_deferred; + +#define PTHREAD_CREATE_JOINABLE     _pthread_create_joinable +#define PTHREAD_CREATE_DETACHED     _pthread_create_detached + +/* Cancelability attributes */ +#define PTHREAD_CANCEL_ENABLE       _pthread_cancel_enable +#define PTHREAD_CANCEL_DISABLE      _pthread_cancel_disable + +#define PTHREAD_CANCEL_ASYNCHRONOUS _pthread_cancel_asynchronous +#define PTHREAD_CANCEL_DEFERRED     _pthread_cancel_deferred +  /* The following #defines implement POSIX cleanup handlers.     The standard requires that these functions be used as statements and | 
