diff options
Diffstat (limited to 'winsup/cygwin/mmap.cc')
-rw-r--r-- | winsup/cygwin/mmap.cc | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/winsup/cygwin/mmap.cc b/winsup/cygwin/mmap.cc index d1fe5d761..37b8fafb5 100644 --- a/winsup/cygwin/mmap.cc +++ b/winsup/cygwin/mmap.cc @@ -986,9 +986,11 @@ fixup_mmaps_after_fork (HANDLE parent) getpagesize (), NULL)) { DWORD old_prot; + DWORD last_error = GetLastError (); - if (GetLastError () != ERROR_PARTIAL_COPY || - !wincap.virtual_protect_works_on_shared_pages ()) + if (last_error != ERROR_PARTIAL_COPY + && last_error != ERROR_NOACCESS + || !wincap.virtual_protect_works_on_shared_pages ()) { system_printf ("ReadProcessMemory failed for " "MAP_PRIVATE address %p, %E", |