void Poll(SelectMode mode, CancellationToken cancellationToken) { #if NETFX_CORE cancellationToken.ThrowIfCancellationRequested(); #else if (!cancellationToken.CanBeCanceled) { return; } if (Socket != null) { do { cancellationToken.ThrowIfCancellationRequested(); } while (!Socket.Poll(1000, mode)); } else { cancellationToken.ThrowIfCancellationRequested(); } #endif }
void Poll(SelectMode mode, CancellationToken cancellationToken) { #if NETFX_CORE cancellationToken.ThrowIfCancellationRequested(); #else if (!cancellationToken.CanBeCanceled) { return; } if (Socket != null) { do { cancellationToken.ThrowIfCancellationRequested(); // wait 1/4 second and then re-check for cancellation } while (!Socket.Poll(250000, mode)); } else { cancellationToken.ThrowIfCancellationRequested(); } #endif }