Only do the unload_dll server call at the time we actually unload the

dll.
This commit is contained in:
Alexandre Julliard 2003-02-28 21:52:08 +00:00
parent a3c5ad4e77
commit 60d40cd246

View file

@ -1420,6 +1420,13 @@ static void MODULE_FlushModrefs(void)
TRACE_(loaddll)("Unloaded module '%s' : %s\n", wm->filename,
wm->dlhandle ? "builtin" : "native" );
SERVER_START_REQ( unload_dll )
{
req->base = (void *)wm->module;
wine_server_call( req );
}
SERVER_END_REQ;
if (wm->dlhandle) wine_dll_unload( wm->dlhandle );
else UnmapViewOfFile( (LPVOID)wm->module );
FreeLibrary16(wm->hDummyMod);
@ -1515,12 +1522,6 @@ BOOL MODULE_FreeLibrary( WINE_MODREF *wm )
if ( free_lib_count <= 1 )
{
MODULE_DllProcessDetach( FALSE, NULL );
SERVER_START_REQ( unload_dll )
{
req->base = (void *)wm->module;
wine_server_call( req );
}
SERVER_END_REQ;
MODULE_FlushModrefs();
}