* dcrt0.cc (dll_crt0_0): Eliminate muto::init call.
* sync.h (locker): New, currently unused class. (muto::init): Eliminate. * sync.cc (muto::init): Ditto. (muto::init): Eliminate critical section lock and instead use name as a guard to prevent against multiple attempts to initialize the same muto. * pinfo.cc (pinfo::init): Set myself procinfo when not execing and pid matches windows pid or cygwin pid.
This commit is contained in:
@@ -40,10 +40,15 @@ public:
|
||||
void upforgrabs () {tls = this;} // just set to an invalid address
|
||||
void grab () __attribute__ ((regparm (1)));
|
||||
static void set_exiting_thread () {exiting_thread = GetCurrentThreadId ();}
|
||||
static void init ();
|
||||
};
|
||||
|
||||
extern muto muto_start;
|
||||
class locker
|
||||
{
|
||||
muto *room;
|
||||
public:
|
||||
locker (muto *m) {room = m; room->acquire ();}
|
||||
~locker () {room->release ();}
|
||||
};
|
||||
|
||||
/* Use a statically allocated buffer as the storage for a muto */
|
||||
#define new_muto(__name) \
|
||||
|
Reference in New Issue
Block a user