Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2010-03-18 22:10:11 +0300
committerChristopher Faylor <me@cgf.cx>2010-03-18 22:10:11 +0300
commit60698cf37a5b5ad8e486fddef48528cf19209c36 (patch)
tree628ab1196a4116602b877e9a69221a402fb85844
parentcb03d2f771c46854e707020e5f7b771e813effa2 (diff)
* shared.cc (init_installation_root): Change to make sure that scope of the
lock lasts the entire function.
-rw-r--r--winsup/cygwin/ChangeLog5
-rw-r--r--winsup/cygwin/shared.cc3
2 files changed, 7 insertions, 1 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 141bf302b..fb2250735 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,8 @@
+2010-03-18 Corinna Vinschen <corinna@vinschen.de>
+
+ * shared.cc (init_installation_root): Change to make sure that scope of
+ the lock lasts the entire function.
+
2010-03-15 Christopher Faylor <me+cygwin@cgf.cx>
* shared_info.h (user_info): Add dll_crt0_1 as a friend.
diff --git a/winsup/cygwin/shared.cc b/winsup/cygwin/shared.cc
index 4ef8807aa..10d03b088 100644
--- a/winsup/cygwin/shared.cc
+++ b/winsup/cygwin/shared.cc
@@ -67,7 +67,8 @@ static LONG installation_root_inited __attribute__((section (".cygwin_dll_common
void inline
init_installation_root ()
{
- if (!spinlock (installation_root_inited))
+ spinlock iri (installation_root_inited);
+ if (!iri)
{
if (!GetModuleFileNameW (cygwin_hmodule, installation_root, PATH_MAX))
api_fatal ("Can't initialize Cygwin installation root dir.\n"