protected override bool ReleaseHandle()
{
Debug.Assert(!IsInvalid);
// Clean up resources for named handles
if (_namedPipeSocketHandle != null)
{
SetHandle(DefaultInvalidHandle);
_namedPipeSocketHandle.DangerousRelease();
_namedPipeSocketHandle = null;
return true;
}
// Clean up resources for anonymous handles
return (long)handle >= 0 ?
Interop.Sys.Close(handle) == 0 :
true;
}