diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc index 1c3583d76..c3f84f7f8 100644 --- a/winsup/cygwin/path.cc +++ b/winsup/cygwin/path.cc @@ -4868,10 +4868,9 @@ cwdstuff::set (path_conv *nat_cwd, const char *posix_cwd) peb.ProcessParameters->CurrentDirectoryHandle, GetCurrentProcess (), &h, 0, TRUE, 0)) { - release_write (); if (peb.ProcessParameters->CurrentDirectoryHandle) debug_printf ("...and DuplicateHandle failed with %E."); - dir = NULL; + h = NULL; } } } diff --git a/winsup/cygwin/release/3.4.10 b/winsup/cygwin/release/3.4.10 index f34b131b3..c75283991 100644 --- a/winsup/cygwin/release/3.4.10 +++ b/winsup/cygwin/release/3.4.10 @@ -3,3 +3,6 @@ Bug Fixes - Fix missing term in __cpuset_zero_s() prototoype in sys/cpuset.h. Addresses: https://cygwin.com/pipermail/cygwin/2023-September/254423.html + +- Fix hang in process initialization if cwd is unreadable. + Addresses: https://cygwin.com/pipermail/cygwin/2023-October/254604.html