Description
Determine if a blocking call is in progress.
#include <winsock.h>
BOOL PASCAL FAR WSAIsBlocking ( void );
Remarks
This function allows a task to determine if it is executing while waiting for a previous blocking call to complete.
Return Value
The return value is TRUE if there is an outstanding blocking function awaiting completion. Otherwise, it is FALSE.
Comments
Although a call issued on a blocking socket appears to an application program as though it "blocks", the Windows Sockets DLL has to relinquish the processor to allow other applications to run. This means that it is possible for the application which issued the blocking call to be re-entered, depending on the message(s) it receives. In this instance, the WSAIsBlocking() function can be used to ascertain whether the task has been re-entered while waiting for an outstanding blocking call to complete. Note that Windows Sockets prohibits more than one outstanding call per thread.
Notes For Windows Sockets Suppliers
A Windows Sockets implementation must prohibit more than one outstanding blocking call per thread.