diff options
| author | rpj <rpj> | 1998-08-03 15:27:21 +0000 | 
|---|---|---|
| committer | rpj <rpj> | 1998-08-03 15:27:21 +0000 | 
| commit | 10f173691b6929033d5714cde8a33f4477aaba28 (patch) | |
| tree | 4b84ccc5f4226332d00aea6b41f98013deaf7b31 /implement.h | |
| parent | bd354ffc95e1f3ef53f781b9c15641d9b6da9208 (diff) | |
Tue Aug  4 00:09:30 1998  Ross Johnson  <rpj@ixobrychus.canberra.edu.au>
	* implement.h(_pthread_virgins): Add extern.
	(_pthread_virgin_next): Ditto.
	(_pthread_reuse): Ditto.
	(_pthread_reuse_top): Ditto.
	(_pthread_win32handle_map): Ditto.
	(_pthread_threads_mutex_table): Ditto.
	* global.c (_pthread_virgins): Changed from array to pointer.
	Storage allocation for the array moved into dll.c.
	(_pthread_reuse): Ditto.
	(_pthread_win32handle_map): Ditto.
	(_pthread_threads_mutex_table): Ditto.
	* dll.c (PthreadsEntryPoint): Set up thread admin storage when
	DLL is loaded.
	* fork.c (pthread_atfork): Fix function pointer arg to all
	_pthread_handler_push() calls. Change "arg" arg to NULL in child push.
	* exit.c: Add windows.h and process.h includes.
	(_pthread_exit): Add local detachstate declaration.
	(_pthread_exit): Fix incorrect name for pthread_attr_getdetachstate().
	* pthread.h (_POSIX_THREAD_ATTR_STACKSIZE): Move from global.c
	(_POSIX_THREAD_ATTR_STACKADDR): Ditto.
	* create.c (pthread_create): Fix #if should be #ifdef.
	(_pthread_start_call): Remove usused variables.
	* process.h: Create.
	* windows.h: Move _beginthreadex and _endthreadex into
	process.h
Mon Aug  3 21:19:57 1998  Ross Johnson  <rpj@ixobrychus.canberra.edu.au>
	* condvar.c (pthread_cond_init): Add NULL attr to
	pthread_mutex_init() call - default attributes will be used.
	(cond_wait): Fix typo.
	(cond_wait): Fix typo - cv was ev.
	(pthread_cond_broadcast): Fix two identical typos.
	* cleanup.c (_pthread_destructor_pop_all): Remove _ prefix from
	PTHREAD_DESTRUCTOR_ITERATIONS.
	* pthread.h: Move _POSIX_* values into posix.h
	* pthread.h: Fix typo in pthread_mutex_init() prototype.
	* attr.c (pthread_attr_init): Fix error in priority member init.
	* windows.h (THREAD_PRIORITY_NORMAL): Add.
	* pthread.h (sched_param): Add missing ';' to struct definition.
	* attr.c (pthread_attr_init): Remove obsolete pthread_attr_t
	member initialisation - cancelstate, canceltype, cancel_pending.
	(is_attr): Make arg "attr" a const.
	* implement.h (_PTHREAD_HANDLER_POP_LIFO): Remove definition.
	(_PTHREAD_HANDLER_POP_FIFO): Ditto.
	(_PTHREAD_VALID): Add missing newline escape (\).
	(_pthread_handler_node): Make element "next" a pointer.
Diffstat (limited to 'implement.h')
| -rw-r--r-- | implement.h | 23 | 
1 files changed, 16 insertions, 7 deletions
diff --git a/implement.h b/implement.h index 56fa7b3..f132674 100644 --- a/implement.h +++ b/implement.h @@ -18,16 +18,13 @@ enum {  #define _PTHREAD_VALID(T) \    ((T) != NULL \ -   && ((T)->ptstatus == _PTHREAD_NEW +   && ((T)->ptstatus == _PTHREAD_NEW \         || (T)->ptstatus == _PTHREAD_INUSE))  /* Handler execution flags. */  #define _PTHREAD_HANDLER_NOEXECUTE 0  #define _PTHREAD_HANDLER_EXECUTE   1 -/* Handler popping schemes. */ -enum { _PTHREAD_HANDLER_POP_LIFO, _PTHREAD_HANDLER_POP_FIFO }; -  /* Special value to mark attribute objects as valid. */  #define _PTHREAD_ATTR_VALID 0xC0FFEE @@ -35,7 +32,7 @@ enum { _PTHREAD_HANDLER_POP_LIFO, _PTHREAD_HANDLER_POP_FIFO };  typedef struct _pthread_handler_node _pthread_handler_node_t;  struct _pthread_handler_node { -  _pthread_handler_node_t next; +  _pthread_handler_node_t * next;    void (* routine)(void *);    void * arg;  }; @@ -140,9 +137,21 @@ extern pthread_mutex_t _pthread_table_mutex;  extern DWORD _pthread_threads_count; -extern _pthread_threads_thread_t _pthread_threads_table[]; +extern _pthread_t * _pthread_virgins; + +extern int _pthread_virgin_next; + +extern pthread_t * _pthread_reuse; + +extern int _pthread_reuse_top; -extern pthread_mutex_t _pthread_threads_mutex_table[]; +extern pthread_t * _pthread_win32handle_map; + +/* Per thread mutex locks. */ +extern pthread_mutex_t * _pthread_threads_mutex_table;  #endif /* _IMPLEMENT_H */ + + +  | 
