# PR_GetConnectStatus Get the completion status of a nonblocking connection. ## Syntax ```{code} PRStatus PR_GetConnectStatus(const PRPollDesc *pd); ``` ### Parameter The function has the following parameter: `pd` : 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`. ### Returns The function returns one of these values: - If successful, `PR_SUCCESS`. - If unsuccessful, `PR_FAILURE`. The reason for the failure can be retrieved via {ref}`PR_GetError`. If {ref}`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 {ref}`PR_Connect` on a nonblocking socket fails with `PR_IN_PROGRESS_ERROR`, you may wait for the connection to complete by calling {ref}`PR_Poll` on the socket with the `in_flags` `PR_POLL_WRITE` | `PR_POLL_EXCEPT`. When {ref}`PR_Poll` returns, call {ref}`PR_GetConnectStatus` on the socket to determine whether the nonblocking connect has succeeded or failed.