<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>basic_raw_socket::cancel (1 of 2 overloads)</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
<link rel="up" href="../cancel.html" title="basic_raw_socket::cancel">
<link rel="prev" href="../cancel.html" title="basic_raw_socket::cancel">
<link rel="next" href="overload2.html" title="basic_raw_socket::cancel (2 of 2 overloads)">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../cancel.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h5 class="title">
<a name="boost_asio.reference.basic_raw_socket.cancel.overload1"></a><a class="link" href="overload1.html" title="basic_raw_socket::cancel (1 of 2 overloads)">basic_raw_socket::cancel
          (1 of 2 overloads)</a>
</h5></div></div></div>
<p>
            <span class="emphasis"><em>Inherited from basic_socket.</em></span>
          </p>
<p>
            Cancel all asynchronous operations associated with the socket.
          </p>
<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">cancel</span><span class="special">();</span>
</pre>
<p>
            This function causes all outstanding asynchronous connect, send and receive
            operations to finish immediately, and the handlers for cancelled operations
            will be passed the <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_aborted</span></code>
            error.
          </p>
<a name="boost_asio.reference.basic_raw_socket.cancel.overload1.exceptions"></a><h6>
<a name="id951990"></a>
            <a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.cancel.overload1.exceptions">Exceptions</a>
          </h6>
<div class="variablelist">
<p class="title"><b></b></p>
<dl>
<dt><span class="term">boost::system::system_error</span></dt>
<dd><p>
                  Thrown on failure.
                </p></dd>
</dl>
</div>
<a name="boost_asio.reference.basic_raw_socket.cancel.overload1.remarks"></a><h6>
<a name="id951997"></a>
            <a class="link" href="overload1.html#boost_asio.reference.basic_raw_socket.cancel.overload1.remarks">Remarks</a>
          </h6>
<p>
            Calls to <code class="computeroutput"><span class="identifier">cancel</span><span class="special">()</span></code>
            will always fail with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">operation_not_supported</span></code>
            when run on Windows XP, Windows Server 2003, and earlier versions of
            Windows, unless BOOST_ASIO_ENABLE_CANCELIO is defined. However, the CancelIo
            function has two issues that should be considered before enabling its
            use:
          </p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
                It will only cancel asynchronous operations that were initiated in
                the current thread.
              </li>
<li class="listitem">
                It can appear to complete without error, but the request to cancel
                the unfinished operations may be silently ignored by the operating
                system. Whether it works or not seems to depend on the drivers that
                are installed.
              </li>
</ul></div>
<p>
            For portable cancellation, consider using one of the following alternatives:
          </p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
                Disable asio's I/O completion port backend by defining BOOST_ASIO_DISABLE_IOCP.
              </li>
<li class="listitem">
                Use the <code class="computeroutput"><span class="identifier">close</span><span class="special">()</span></code>
                function to simultaneously cancel the outstanding operations and
                close the socket.
              </li>
</ul></div>
<p>
            When running on Windows Vista, Windows Server 2008, and later, the CancelIoEx
            function is always used. This function does not have the problems described
            above.
          </p>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2003 - 2010 Christopher M. Kohlhoff<p>
        Distributed under the Boost Software License, Version 1.0. (See accompanying
        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
      </p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../cancel.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../cancel.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>
