]> sourceware.org Git - newlib-cygwin.git/commit
Cygwin: dll_list: stat_real_file_once with ntname
authorMichael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
Fri, 3 May 2019 14:14:14 +0000 (16:14 +0200)
committerCorinna Vinschen <corinna@vinschen.de>
Mon, 3 Jun 2019 16:37:52 +0000 (18:37 +0200)
commit6c9ad75a4bd40e9d72a109d17cc9fe6cc754af08
tree9cbe59b77bab70e8f6a0d11a26044e345b8013e8
parentd5daede26c651f4e9d6c7abbd2dd2937a1e24e2d
Cygwin: dll_list: stat_real_file_once with ntname

NtQueryVirtualMemory for MemorySectionName may return some old path even
if the process was just started, for when some directory in between was
renamed - maybe because the NT file cache is hot for the old path still.
This was seen during gcc bootstrap, returning a MemorySectionName of
".../gcc/xgcc.exe" even if started as ".../prev-gcc/xgcc.exe", where the
directory rename from "gcc" to "prev-gcc" was done the moment before.
As we stat the module's real file right after loading now, there is no
point in using NtQueryVirtualMemory with MemorySectionName any more, and
we can use what GetModuleFileName returned instead.
winsup/cygwin/dll_init.cc
winsup/cygwin/forkable.cc
This page took 0.033685 seconds and 5 git commands to generate.