Get the completion status of a nonblocking connection.
PRStatus PR_GetConnectStatus(const PRPollDesc *pd);
The function has the following parameter:
pd
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:
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.