System.Net.SafeCloseHandle.SafeLocalFree.SafeGlobalFree.SafeOverlappedFree.SafeCloseSocket.SafeCloseSocketAndEvent.CompleteInitialization C# (CSharp) Method

CompleteInitialization() static private method

static private CompleteInitialization ( SafeCloseSocketAndEvent socketAndEventHandle ) : void
socketAndEventHandle SafeCloseSocketAndEvent
return void
        internal static void CompleteInitialization(SafeCloseSocketAndEvent socketAndEventHandle){
            SafeWaitHandle handle = socketAndEventHandle.waitHandle.SafeWaitHandle;
            bool b = false;
            RuntimeHelpers.PrepareConstrainedRegions();
            try
            {
                handle.DangerousAddRef(ref b);
            }
            catch
            {
                if (b)
                {
                    handle.DangerousRelease();
                    socketAndEventHandle.waitHandle = null;
                    b = false;
                }
            }
            finally
            {
                if (b)
                {
                    handle.Dispose();
                }
            }
        }
SafeCloseHandle.SafeLocalFree.SafeGlobalFree.SafeOverlappedFree.SafeCloseSocket.SafeCloseSocketAndEvent