diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2025-03-30 20:42:07 +0200 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2025-03-30 20:52:34 +0200 |
commit | 1c4fc31c48a0c7cc6de122c50e25e618c169c343 (patch) | |
tree | 5ecda04e4d337a5c072673353dbed635a53d6bbc /newlib/libc/stdlib/wcstoll.c | |
parent | 82b31085f6ad23c3aaf5a928bd56fe06cbe63df5 (diff) | |
download | newlib-1c4fc31c48a0c7cc6de122c50e25e618c169c343.zip newlib-1c4fc31c48a0c7cc6de122c50e25e618c169c343.tar.gz newlib-1c4fc31c48a0c7cc6de122c50e25e618c169c343.tar.bz2 |
Cygwin: dlfcn: fix dlopen refcounting for DLLs loaded with RTLD_NODELETE
Refcounting is performed even if the DLL is loaded at least once
with RTLD_NODELETE. In that case we must not decrement the count
on dlclose, even if FreeLibrary will never unload the DLL.
Use INT_MAX as dll count if RTLD_NODELETE has been used at least once.
Skip any further refcounting and make sure the DLL is still pinned
in memory after fork.
Fixes: 33297d810d90 ("Cygwin: dlfcn: Fix reference counting")
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Diffstat (limited to 'newlib/libc/stdlib/wcstoll.c')
0 files changed, 0 insertions, 0 deletions