Changeset 19471


Ignore:
Timestamp:
Jul 26, 2002, 12:48:40 PM (23 years ago)
Author:
sandervl
Message:

added method to detach process from all dlls

Location:
tags/trunk/src/kernel32
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified tags/trunk/src/kernel32/windllbase.cpp

    r19161 r19471  
    1 /* $Id: windllbase.cpp,v 1.29 2002-06-09 10:48:50 sandervl Exp $ */
     1/* $Id: windllbase.cpp,v 1.30 2002-07-26 10:48:40 sandervl Exp $ */
    22
    33/*
     
    561561        dll = dll->getNext();
    562562    }
    563   dlllistmutex.leave();
     563    dlllistmutex.leave();
     564}
     565//******************************************************************************
     566//Send DLL_PROCESS_DETACH message to all dlls for process that's about to end
     567//******************************************************************************
     568void Win32DllBase::detachProcessFromAllDlls()
     569{
     570    dlllistmutex.enter();
     571    Win32DllBase *dll = Win32DllBase::head;
     572    while(dll) {
     573        dll->detachProcess();
     574        dll = dll->getNext();
     575    }
     576    dlllistmutex.leave();
    564577}
    565578//******************************************************************************
  • TabularUnified tags/trunk/src/kernel32/windllbase.h

    r19161 r19471  
    1 /* $Id: windllbase.h,v 1.9 2002-06-09 10:48:50 sandervl Exp $ */
     1/* $Id: windllbase.h,v 1.10 2002-07-26 10:48:40 sandervl Exp $ */
    22
    33/*
     
    6666static  void      detachThreadFromAllDlls();
    6767
     68//Send DLL_PROCESS_DETACH message to all dlls for process that's about to end
     69static  void      detachProcessFromAllDlls();
     70
    6871//Setup TLS structure for all dlls for a new thread
    6972static  void      tlsAttachThreadToAllDlls();
     
    7881
    7982    //This counter is incremented when the dll has been loaded with LoadLibrary(Ex)
    80         //(== not loaded on behalf of another dll or the main exe)
     83    //(== not loaded on behalf of another dll or the main exe)
    8184    void      incDynamicLib();
    8285    void      decDynamicLib();
     
    9194    //Only called for kernel32
    9295    void      DisableUnload()  { fDisableUnload = TRUE; };
     96
     97    BOOL      IsUnloaded()     { return fUnloaded; };
    9398
    9499static  void      deleteDynamicLibs();
Note: See TracChangeset for help on using the changeset viewer.