Changeset 3059 for trunk/src/kernel32/winexebase.cpp
- Timestamp:
- Mar 9, 2000, 8:03:23 PM (25 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/kernel32/winexebase.cpp
r3005 r3059 1 /* $Id: winexebase.cpp,v 1. 6 2000-03-04 19:52:36sandervl Exp $ */1 /* $Id: winexebase.cpp,v 1.7 2000-03-09 19:03:21 sandervl Exp $ */ 2 2 3 3 /* … … 59 59 Win32ExeBase::~Win32ExeBase() 60 60 { 61 //First delete all dlls that were loaded by the exe or dlls 62 //Then delete all dlls loaded by LoadLibrary (to avoid that we 63 //delete some dlls before the dll, that loaded it, is destroyed) 61 QueueItem *item; 62 Win32DllBase *dll; 63 64 //First delete all dlls loaded by LoadLibrary 65 //Then delete all dlls that were loaded by the exe 66 //(NOTE: This is what NT does; first delete loadlib dlls in LIFO order and 67 // then the exe dlls) 68 Win32DllBase::deleteDynamicLibs(); 69 70 dprintf(("Win32ExeBase::~Win32ExeBase")); 71 #ifdef DEBUG_ENABLELOG_LEVEL2 72 item = loadedDlls.Head(); 73 dll = (Win32DllBase *)loadedDlls.getItem(item); 74 dll->printListOfDlls(); 75 #endif 76 77 item = loadedDlls.Head(); 78 while(item) { 79 dll = (Win32DllBase *)loadedDlls.getItem(item); 80 if(dll == NULL) { 81 dprintf(("ERROR: Win32ExeBase::~Win32ExeBase: dll item == NULL!!")); 82 DebugInt3(); 83 break; 84 } 85 dll->Release(); 86 item = loadedDlls.getNext(item); 87 } 88 64 89 Win32DllBase::deleteAll(); 65 Win32DllBase::deleteAll(TRUE);66 90 67 91 WinExe = NULL;
Note:
See TracChangeset
for help on using the changeset viewer.