https://bugs.winehq.org/show_bug.cgi?id=44192
--- Comment #5 from Lorenzo Ferrillo lorenzofer@live.it --- The flow seems to be this: The application call LdrUnloadDll nsisUnrar2.dll, acquire the lock , LdrUnloadDLL call process_detach that call ModuleInitDLL with PROCESS_DETACH , it execute the DLL entrypoint call_dll_entry_point The nsisUnRar2.dll entrypoint for detach call LdrUnloadDll fo unrar.dll. However it seems that the entrypoint isn't returning at all, making the thread stuck inside the entrypoint. This cause ModuleInitDLL to not return and the lock to not be freed.