public bool Poll(int microSeconds, SelectMode mode)
{
if (CleanedUp)
{
throw new ObjectDisposedException(this.GetType().FullName);
}
bool status;
SocketError errorCode = SocketPal.Poll(_handle, microSeconds, mode, out status);
if (NetEventSource.IsEnabled) NetEventSource.Info(this, $"Interop.Winsock.select returns socketCount:{(int)errorCode}");
// Throw an appropriate SocketException if the native call fails.
if (errorCode != SocketError.Success)
{
// Update the internal state of this socket according to the error before throwing.
SocketException socketException = new SocketException((int)errorCode);
UpdateStatusAfterSocketError(socketException);
if (NetEventSource.IsEnabled) NetEventSource.Error(this, socketException);
throw socketException;
}
return status;
}