In my application certain dll’s are only required for specific operations that will not occur for the 99.9% of usage operation. So to save on load time and memory these are loaded dynamically loaded as required using LoadLibrary.
To keep the user informed and the program responding the libraries are being loaded on a sperate thread and then notifying the UI thread when they are available and the process can continue.
However in my experimentation while LoadLibrary is operating the UI thread is locked and the event queue is not being processed anyway making that application lock and the screen is no longer redrawn.
MSDN on LoadLibrary does not mention this behaviour is it possible to have a dll loaded in one thread while the event queue is still being processed?
There is no issue when loading dlls asynchronously it was to do with the Visual Studio Debugger looking up symbols for the newly loaded dlls from the symbol servers.
When symbol servers are disabled or the application run without a debugger there is no locking present the execution of
LoadLibrary