Microsoft.Win32.SafeHandles.SafeWaitHandle.ReleaseHandle C# (CSharp) Method

ReleaseHandle() private method

private ReleaseHandle ( ) : bool
return bool
        override protected bool ReleaseHandle()
        {
            if (!bIsMutex || Environment.HasShutdownStarted)
                return Win32Native.CloseHandle(handle);				
			
            bool bReturn = false;    			
            bool bMutexObtained = false;    			
            try
            {
               if (!bIsReservedMutex)
               {
                   Mutex.AcquireReservedMutex(ref bMutexObtained);	
               }
               bReturn = Win32Native.CloseHandle(handle);
            }
            finally
            {
                if (bMutexObtained)
                    Mutex.ReleaseReservedMutex();
            }
            return bReturn;			
        }