I have a Perl/Tk application which is loading and calling functions from a C++ dll using the Win32::API module.
These functions are being called repeatedly from within a loop.
Under heavy load (after many iterations over these functions),the whole
app hangs(does not crash) which probably shows that there is a memory leak.
In the beginning I started looking for GDI and handle leaks but the numbers throughout
the application's run are constant whith very small deviation.
The only way I managed under heavy load to make the app run into completion is when I unload
and reload the dll from memory (Getmodulehandle,Freelibrary) after a number of iterations.
This probably shows that the dll is not releasing memory and instead it increasingly
consumes more until the app hangs.
Is that (unloading and reloading the dll) standard procedure when calling repeatedly run time linked dll's,
or am I doing something out of the norm and should look for leaks elsewhere?