Get the completion status of a nonblocking connection.
Syntax
PRStatus PR_GetConnectStatus(const PRPollDesc *pd);
Parameter
The function has the following parameter:
pd- A pointer to a
PRPollDescsatructure whosefdfield is the socket and whosein_flagsfield must containPR_POLL_WRITEandPR_POLL_EXCEPT.
Returns
The function returns one of these values:
- If successful,
PR_SUCCESS. - If unsuccessful,
PR_FAILURE. The reason for the failure can be retrieved viaPR_GetError.
If PR_GetError returns PR_IN_PROGRESS_ERROR, the nonblocking connection is still in progress and has not completed yet.Other errors indicate that the connection has failed.
Description
After PR_Connect on a nonblocking socket fails with PR_IN_PROGRESS_ERROR, you may wait for the connection to complete by calling PR_Poll on the socket with the in_flags PR_POLL_WRITE | PR_POLL_EXCEPT. When PR_Poll returns, call PR_GetConnectStatus on the socket to determine whether the nonblocking connect has succeeded or failed.
