diff options
author | rpj <rpj> | 1998-07-27 08:11:21 +0000 |
---|---|---|
committer | rpj <rpj> | 1998-07-27 08:11:21 +0000 |
commit | 8a90a4b73ddc1709dd6b6ee5799cce4d57b66a8e (patch) | |
tree | c95d5557876242864f99e8fe8715cf042a6c402d /implement.h | |
parent | 537fe68bc5ca2dd75f4f54146a50a39c5b55b8e3 (diff) |
Mon Jul 27 17:46:37 1998 Ross Johnson <rpj@swan.canberra.edu.au>
* create.c (pthread_create): Start of rewrite. Not completed yet.
* private.c (_pthread_new_thread_entry): Start of rewrite. Not
complete.
* implement.h (_pthread_threads_thread): Rename, remove thread
member, add win32handle and ptstatus members.
(_pthread_t): Add.
* pthread.h: pthread_t is no longer mapped directly to a Win32
HANDLE type. This is so we can let the Win32 thread terminate and
reuse the HANDLE while pthreads holds it's own thread ID until
the last waiting join exits.
Diffstat (limited to 'implement.h')
-rw-r--r-- | implement.h | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/implement.h b/implement.h index e830293..c19e6b9 100644 --- a/implement.h +++ b/implement.h @@ -55,10 +55,16 @@ typedef struct { (&_pthread_threads_mutex_table[_PTHREAD_THREADS_TABLE_INDEX(this)]) /* An element in the thread table. */ -typedef struct _pthread_threads_thread _pthread_threads_thread_t; +typedef struct _pthread _pthread_t; -struct _pthread_threads_thread { - pthread_t thread; +/* Keep the old typedef until we've updated all source files. */ +typedef struct _pthread _pthread_threads_thread_t; + +/* Related constants */ +struct _pthread { + HANDLE win32handle; + int ptstatus; /* _PTHREAD_EXITED + _PTHREAD_REUSABLE */ pthread_attr_t attr; _pthread_call_t call; int cancel_pending; |