diff options
author | Christopher Faylor <me@cgf.cx> | 2002-09-29 06:19:35 +0400 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2002-09-29 06:19:35 +0400 |
commit | aea1f301fcc9037a222ccf7c2f0f247cdeb2d06e (patch) | |
tree | 89921a181cefa4fd5316a2c23ea9624f77b70928 /winsup/cygwin/cygthread.h | |
parent | fc5dae1ccab502bdb35a7581a4db8a95cf311c8a (diff) |
* cygthread.h (cygthread::terminate): Declare new function.
(cygthread::initialized): Change to 'int'.
* cygthread.cc (cygthread::stub): Exit thread if initialized < 0.
(cygthread::new): Ditto.
(cygthread::runner): Ditto. Set initialized using xor to preserve sign.
(cygthread::terminate): New function.
* dcrt0.cc (do_exit): Call cygthread::terminate.
Diffstat (limited to 'winsup/cygwin/cygthread.h')
-rw-r--r-- | winsup/cygwin/cygthread.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/winsup/cygwin/cygthread.h b/winsup/cygwin/cygthread.h index 37f7c6537..b55aec90c 100644 --- a/winsup/cygwin/cygthread.h +++ b/winsup/cygwin/cygthread.h @@ -17,7 +17,7 @@ class cygthread VOID *arg; bool is_freerange; static DWORD main_thread_id; - static bool initialized; + static int initialized; static DWORD WINAPI runner (VOID *); static DWORD WINAPI free_runner (VOID *); static DWORD WINAPI stub (VOID *); @@ -33,6 +33,7 @@ class cygthread void * operator new (size_t); static void * freerange (); void exit_thread (); + static void terminate (); }; #define cygself NULL |