c++ - Why does calling WSASocket from DllMain lead to a hang? -


i need destroy objects when dll unloaded. object contains thread calls wsasocket function (for reconnecting connection). so, call destructor dllmain in response dll_process_detach, causes application hang. specifically, call wsasocket locks up.

i know functions cannot called dllmain, functions call loadlibrary , freelibrary. why wsasocket function have same problem?

it's because shouldn't use dllmain cause. many system procs cause deadlock being called dllmain. declare additional export proc deinitialization of dll , call right before freelibrary.

also, recommend read "best dll practices" msft. there lot of reasons stay away dllmain.


Popular posts from this blog

How to calculate SNR of signals in MATLAB? -

c# - Attempting to upload to FTP: System.Net.WebException: System error -

ios - UISlider customization: how to properly add shadow to custom knob image -