Get the completion status of a nonblocking connection.
PRStatus PR_GetConnectStatus(const PRPollDesc *pd);
The function has the following parameter:
pdPRPollDesc satructure whose fd field is the socket and whose in_flags field must contain PR_POLL_WRITE and PR_POLL_EXCEPT.The function returns one of these values:
PR_SUCCESS.PR_FAILURE. The reason for the failure can be retrieved via PR_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.
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.