41 lines
1.1 KiB
Markdown
41 lines
1.1 KiB
Markdown
# 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.
|