diff --git a/mcs/class/System.Core/Microsoft.Win32.SafeHandles/SafePipeHandle.cs b/mcs/class/System.Core/Microsoft.Win32.SafeHandles/SafePipeHandle.cs index e2e8aaeba0c3..0c5768009b5b 100644 --- a/mcs/class/System.Core/Microsoft.Win32.SafeHandles/SafePipeHandle.cs +++ b/mcs/class/System.Core/Microsoft.Win32.SafeHandles/SafePipeHandle.cs @@ -46,12 +46,8 @@ public SafePipeHandle (IntPtr preexistingHandle, bool ownsHandle) protected override bool ReleaseHandle () { - try { - Marshal.FreeHGlobal (handle); - return true; - } catch (ArgumentException) { - return false; - } + MonoIOError error; + return MonoIO.Close (handle, out error); } } }