Get the completion status of a nonblocking connection.


PRStatus PR_GetConnectStatus(const PRPollDesc *pd);


The function has the following parameter:

A pointer to a PRPollDesc 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:

  • If successful, PR_SUCCESS.
  • If unsuccessful, 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.