The IsBlocked property returns True if the specified
control is blocked performing an operation. Because the Windows
Sockets API only permits one blocking operation per thread of
execution, this property should be checked before starting any
blocking operation.
If the IsBlocked property returns False, this means there
are no blocking operations on the current thread at that time. If the
property returns True, this tells you that you can't proceed with a
socket operation. However, if the property returns False this does
not guarantee that the next socket operation will not fail with a
swErrorOperationWouldBlock or
swErrorOperationInProgress error. The application should treat
these errors as recoverable, and should be prepared to retry
operations that result in them.
Note that this property will return True if there is any
blocking operation being performed by the application, regardless of
whether the control is responsible for the blocking operation or
not.