-
Notifications
You must be signed in to change notification settings - Fork 178
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Used in Windows DLL, FreeLibrary() hangs host program on unloading DLL. #251
Comments
Addition of |
I've used a dirty hack for now that solves my problem with minimal resistance and maximum bad practise! Hopefully it will help with working out what the "correct" fix should look like.
I'd like to implement the "correct" fix myself in keeping with the programming style used here, however I'm afraid a lot of the C++ code looks pretty alien to me. For example, no matter how much I read up on it, the line |
In a DLL with a single function executing the following test code after being loaded with
LoadLibrary()
:I find that a subsequent call in the host program to
FreeLibrary()
hangs the execution.If I append the following to the end of the above function:
TFE_DeleteContext(cppflow::context::get_context());
Then I can call
FreeLibrary()
without issue. I'm totally new to all this, so sorry if I'm missing something - but I feel like there's a bug here, as I saw a similar issue was closed last year due to inactivity.P.S. trying to delete the context in DllMain() DLL_PROCESS_DETACH does not work, and neither does storing the TFE_Context* in a global variable to delete it later in DLL_PROCESS_DETACH.
The text was updated successfully, but these errors were encountered: