public static unsafe void Free(NativeOverlapped *nativeOverlappedPtr) { if (nativeOverlappedPtr == null) { throw new ArgumentNullException("nativeOverlappedPtr"); } Overlapped overlapped = OverlappedData.GetOverlappedFromNative(nativeOverlappedPtr).m_overlapped; OverlappedData.FreeNativeOverlapped(nativeOverlappedPtr); OverlappedData overlappedData = overlapped.m_overlappedData; overlapped.m_overlappedData = null; OverlappedDataCache.CacheOverlappedData(overlappedData); }
public static unsafe void Free(NativeOverlapped *nativeOverlappedPtr) { if (nativeOverlappedPtr == null) { throw new ArgumentNullException(nameof(nativeOverlappedPtr)); } Overlapped overlapped = OverlappedData.GetOverlappedFromNative(nativeOverlappedPtr).m_overlapped; OverlappedData.FreeNativeOverlapped(nativeOverlappedPtr); OverlappedData overlappedData = overlapped.m_overlappedData; overlapped.m_overlappedData = null; overlappedData.ReInitialize(); s_overlappedDataCache.Free(overlappedData); }
unsafe public static void Free(NativeOverlapped *nativeOverlappedPtr) { if (nativeOverlappedPtr == null) { throw new ArgumentNullException("nativeOverlappedPtr"); } Contract.EndContractBlock(); Overlapped overlapped = OverlappedData.GetOverlappedFromNative(nativeOverlappedPtr).m_overlapped; OverlappedData.FreeNativeOverlapped(nativeOverlappedPtr); OverlappedData overlappedData = overlapped.m_overlappedData; overlapped.m_overlappedData = null; overlappedData.ReInitialize(); s_overlappedDataCache.Free(overlappedData); }
public static unsafe void Free(NativeOverlapped *nativeOverlappedPtr) { if ((IntPtr)nativeOverlappedPtr == IntPtr.Zero) { throw new ArgumentNullException("nativeOverlappedPtr"); } Overlapped overlapped = OverlappedData.GetOverlappedFromNative(nativeOverlappedPtr).m_overlapped; OverlappedData.FreeNativeOverlapped(nativeOverlappedPtr); OverlappedData overlappedData = overlapped.m_overlappedData; // ISSUE: variable of the null type __Null local = null; overlapped.m_overlappedData = (OverlappedData)local; overlappedData.ReInitialize(); Overlapped.s_overlappedDataCache.Free((object)overlappedData); }
internal static unsafe void FreeNativeOverlapped(NativeOverlapped *nativeOverlappedPtr) { OverlappedData overlappedData = OverlappedData.GetOverlappedFromNative(nativeOverlappedPtr); overlappedData.FreeNativeOverlapped(); }