OSDN Git Service

* path.cc (cwdstuff::set): Avoid double aquiring of cwd_lock.
authorcorinna <corinna>
Tue, 22 May 2007 12:43:23 +0000 (12:43 +0000)
committercorinna <corinna>
Tue, 22 May 2007 12:43:23 +0000 (12:43 +0000)
Open directory with inheriting enabled.

winsup/cygwin/ChangeLog
winsup/cygwin/path.cc

index e9047b2..f23f5e2 100644 (file)
@@ -1,3 +1,8 @@
+2007-05-22  Corinna Vinschen  <corinna@vinschen.de>
+
+       * path.cc (cwdstuff::set): Avoid double aquiring of cwd_lock.
+       Open directory with inheriting enabled.
+
 2007-05-21  Christian Franke <franke@computer.org>
 
        * fhandler_floppy.cc (fhandler_dev_floppy::lseek): Don't invalidate
index 3fadeb8..1bd7cff 100644 (file)
@@ -4224,7 +4224,8 @@ cwdstuff::set (const char *win32_cwd, const char *posix_cwd, bool doit)
 
   if (win32_cwd)
     {
-      cwd_lock.acquire ();
+      if (!cwd_lock.acquired ())
+       cwd_lock.acquire ();
       if (doit)
        {
          /* We utilize the user parameter block.  The directory is
@@ -4252,7 +4253,7 @@ cwdstuff::set (const char *win32_cwd, const char *posix_cwd, bool doit)
              goto out;
            }
          h = CreateFile (win32_cwd, FILE_TRAVERSE, FILE_SHARE_VALID_FLAGS,
-                         NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS,
+                         &sec_none, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS,
                          NULL);
          if (h == INVALID_HANDLE_VALUE)
            {