From 18edcecfbf74f23bffeefcaca1722407f6a9f597 Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Tue, 8 Mar 2005 05:05:02 +0000 Subject: * 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. --- winsup/cygwin/sync.h | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'winsup/cygwin/sync.h') diff --git a/winsup/cygwin/sync.h b/winsup/cygwin/sync.h index 90e70a243..f2f852c78 100644 --- a/winsup/cygwin/sync.h +++ b/winsup/cygwin/sync.h @@ -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) \ -- cgit v1.2.3