diff options
author | Christopher Faylor <me@cgf.cx> | 2000-05-18 03:20:01 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2000-05-18 03:20:01 +0000 |
commit | 12e659efa8f172167a526f251e36571f6f976740 (patch) | |
tree | af0e1b0e10b0d1f85074c9a0bc2fd3aadb4fe17e /winsup/cygwin/sigproc.h | |
parent | 2dc173fe91dfdf9fbf2844f54bb064f43a8c0004 (diff) | |
download | newlib-12e659efa8f172167a526f251e36571f6f976740.zip newlib-12e659efa8f172167a526f251e36571f6f976740.tar.gz newlib-12e659efa8f172167a526f251e36571f6f976740.tar.bz2 |
* dcrt0.cc (dll_crt0_1): Initialize mainthread stuff here before anything needs
it.
* sigproc.cc (sigproc_init): Move mainthread initialization out of here.
* sigproc.h (sigthread): Add init() method.
(sigframe): Don't try to initialize muto.
* sync.cc: Undef WaitForSingleObject to avoid recursion.
Diffstat (limited to 'winsup/cygwin/sigproc.h')
-rw-r--r-- | winsup/cygwin/sigproc.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/winsup/cygwin/sigproc.h b/winsup/cygwin/sigproc.h index eee3574..3f713c3 100644 --- a/winsup/cygwin/sigproc.h +++ b/winsup/cygwin/sigproc.h @@ -40,6 +40,11 @@ struct sigthread DWORD frame; muto *lock; sigthread () : id (0), frame (0), lock (0) {} + void init (const char *s) + { + lock = new_muto (FALSE, s); + id = GetCurrentThreadId (); + } }; class sigframe @@ -50,8 +55,6 @@ private: public: void set (sigthread &t, int up = 1) { - if (!t.lock) - t.lock = new_muto (FALSE, "sigthread"); t.lock->acquire (); st = &t; t.frame = (DWORD) (up ? __builtin_frame_address (1) : |