process exit and FreeLibrary

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



current loader (well here we're taking about un-loader) code might be a
bit buggy when stopping a process
on one hand, we force a brutal removal of all loaded DLLs
on the other hands, if a brain dead programmer calls FreeLibrary while
processing the PROCESS_DETACH notification, we we trying no nicely
unload the DLLs, taking into account ref counting and the likes
those two approches tend not to behave well together
this patch simply prevents FreeLibrary to do its job when a process
unloads.

(BTW, this should fix P Millar's bug on Word exit. BTW, thanks Paul for
the detailed logs of the pb)

A+
Name:          pcsfl
ChangeLog:     don't fully process FreeLibrary when process is stopping
License:       X11
GenDate:       2002/11/14 21:26:43 UTC
ModifiedFiles: loader/module.c
AddedFiles:    
===================================================================
RCS file: /home/cvs/cvsroot/wine/wine/loader/module.c,v
retrieving revision 1.167
diff -u -u -r1.167 module.c
--- loader/module.c	23 Oct 2002 20:20:59 -0000	1.167
+++ loader/module.c	14 Nov 2002 21:25:16 -0000
@@ -1437,6 +1437,11 @@
     BOOL retv = FALSE;
     WINE_MODREF *wm;
 
+    /* if we're stopping the whole process (and forcing the removal of all
+     * DLLs, the library will be freed anyway.
+     */
+    if (process_detaching) return TRUE;
+
     if (!hLibModule)
     {
         SetLastError( ERROR_INVALID_HANDLE );

[Index of Archives]     [Gimp for Windows]     [Red Hat]     [Samba]     [Yosemite Camping]     [Graphics Cards]     [Wine Home]

  Powered by Linux