mozilla

Revision 443985 of PR_ConnectContinue

  • Revision slug: PR_ConnectContinue
  • Revision title: PR_ConnectContinue
  • Revision id: 443985
  • Created:
  • Creator: kscarfone
  • Is current revision? Yes
  • Comment Editorial review

Revision Content

Syntax

#include <prio.h> 

PRStatus PR_ConnectContinue(
  PRFileDesc *fd,
  PRInt16 out_flags);

Parameters

The function has the following parameters:

fd
A pointer to a PRFileDesc object representing a socket.
out_flags
The out_flags field of the poll descriptor returned by PR_Poll().

Returns

  • If the nonblocking connect has successfully completed, PR_ConnectContinue returns PR_SUCCESS.
  • If PR_ConnectContinue() returns PR_FAILURE, call PR_GetError():
         - PR_IN_PROGRESS_ERROR: the nonblocking connect is still in progress and has not completed yet. The caller should poll the file descriptor for the in_flags PR_POLL_WRITE|PR_POLL_EXCEPT and retry PR_ConnectContinue later when PR_Poll() returns.
         - Other errors: the nonblocking connect has failed with this error code.

Description

Continue a nonblocking connect. After a nonblocking connect is initiated with PR_Connect() (which fails with PR_IN_PROGRESS_ERROR), one should call PR_Poll() on the socket, with the in_flags PR_POLL_WRITE | PR_POLL_EXCEPT. When PR_Poll() returns, one calls PR_ConnectContinue() on the socket to determine whether the nonblocking connect has completed or is still in progress. Repeat the PR_Poll(), PR_ConnectContinue() sequence until the nonblocking connect has completed.

 

Revision Source

<h3 id="Syntax">Syntax</h3>
<pre class="eval">
#include &lt;prio.h&gt; 

PRStatus PR_ConnectContinue(
<a class="ref" href="http://dxr.mozilla.org/search.cgi?tree=mozilla-central&amp;string=PRFileDesc">  </a>PRFileDesc *fd,
  PRInt16 out_flags);</pre>
<h3 id="Parameters">Parameters</h3>
<p>The function has the following parameters:</p>
<dl>
  <dt>
    <code>fd</code></dt>
  <dd>
    A pointer to a <code><a href="https://developer.mozilla.org/en/PRFileDesc" title="en/PRFileDesc">PRFileDesc</a></code> object representing a socket.</dd>
</dl>
<dl>
  <dt>
    <code>out_flags</code></dt>
  <dd>
    The out_flags field of the poll descriptor returned by <a href="/en-US/docs/PR_Poll" title="/en-US/docs/PR_Poll">PR_Poll()</a>.</dd>
</dl>
<h3 id="Returns">Returns</h3>
<ul>
  <li>If the nonblocking connect has successfully completed, PR_ConnectContinue returns PR_SUCCESS.</li>
  <li>If PR_ConnectContinue() returns PR_FAILURE, call PR_GetError():<br />
    &nbsp;&nbsp;&nbsp;&nbsp; - PR_IN_PROGRESS_ERROR: the nonblocking connect is still in progress and has not completed yet. The caller should poll the file descriptor for the in_flags PR_POLL_WRITE|PR_POLL_EXCEPT and retry PR_ConnectContinue later when PR_Poll() returns.<br />
    &nbsp;&nbsp;&nbsp;&nbsp; - Other errors: the nonblocking connect has failed with this error code.</li>
</ul>
<h3 id="Description">Description</h3>
<p>Continue a nonblocking connect. After a nonblocking connect is initiated with PR_Connect() (which fails with PR_IN_PROGRESS_ERROR), one should call PR_Poll() on the socket, with the in_flags PR_POLL_WRITE | PR_POLL_EXCEPT. When PR_Poll() returns, one calls PR_ConnectContinue() on the socket to determine whether the nonblocking connect has completed or is still in progress. Repeat the PR_Poll(), PR_ConnectContinue() sequence until the nonblocking connect has completed.</p>
<dl>
  <dt>
    &nbsp;</dt>
</dl>
Revert to this revision