Commit Graph

2203 Commits

Author SHA1 Message Date
Christopher Kohlhoff
9fc74ea135 Use ConnectEx where available.
N.B. This change conservatively limits the use of ConnectEx to
connection-oriented IP sockets.
2014-05-02 22:13:35 +10:00
Christopher Kohlhoff
ac9babae60 Update some more copyright notices. 2014-05-02 13:40:07 +10:00
Christopher Kohlhoff
c3fa8eb14a Fix file permission. 2014-05-02 13:34:34 +10:00
Christopher Kohlhoff
eabbbace2d Disable GetQueuedCompletionStatus workaround on recent Windows versions. 2014-05-02 12:51:32 +10:00
Christopher Kohlhoff
9c1fd314c8 Fix type aliasing issue reported by gcc.
Fixes boost trac ticket #9550.
2014-05-02 11:53:45 +10:00
Christopher Kohlhoff
dd3db696f9 Make select_reactor more efficient on Windows for large numbers of sockets.
Fixes boost trac ticket #9528.
2014-05-02 11:19:25 +10:00
Christopher Kohlhoff
a108e81b97 Clarify that commit() and consume() do not throw.
Fixes boost trac ticket #9605.
2014-04-30 09:39:39 +10:00
Christopher Kohlhoff
45959dd8f1 Fix infinite recursion in operator~ implementation.
Fixes boost trac ticket #9548.
2014-04-29 23:27:58 +10:00
Christopher Kohlhoff
f2af8866d9 Regenerate documentation. 2014-04-29 23:24:50 +10:00
Christopher Kohlhoff
3c4cbaa356 Fix incorrect documentation on async_send.
Fixed boost trac ticket #9771.
2014-04-29 23:23:36 +10:00
Christopher Kohlhoff
3f473548a7 Fix occasional close() system call hang on MacOS.
Repeated re-registration of kqueue event filters seems to behave as
though there is some kind of "leak" on MacOS, culminating in a suspended
close() system call and an unkillable process. To avoid this, we will
register a descriptor's kqueue event filters once only i.e. when the
descriptor is first created.
2014-04-29 23:13:57 +10:00
Christopher Kohlhoff
3b2335010d Compute greatest common divisor to prevent unnecessary integer overflow.
Fixes boost trac tickets #9662, #9778.
2014-04-29 22:31:47 +10:00
Christopher Kohlhoff
d8240be4df Ensure incomplete coroutines are correctly unwound.
We must take care not to hold a shared_ptr to the coroutine across
its own suspension point, otherwise it will not be unwound by the
io_service destructor. Move-enabled C++11 compilers take care of this
automatically, but with C++03 we must explicitly reset the shared_ptr.

Fixes boost trac ticket #9731.
2014-04-29 14:25:59 +10:00
Christopher Kohlhoff
5f99384011 Fix spawn() when Boost.Coroutine v2 is used.
Fixes boost trac tickets #9442, #9928.
2014-04-29 14:19:08 +10:00
Christopher Kohlhoff
bf837274fd Fix delegation of continuation hook.
Fixes boost trac ticket #9741.
2014-04-29 11:59:12 +10:00
Christopher Kohlhoff
44cce168f0 Add build support for using boost.coroutine. 2014-04-29 10:59:32 +10:00
Christopher Kohlhoff
4bb236ac64 Make system_error available via error.hpp. 2014-04-29 10:57:18 +10:00
Christopher Kohlhoff
22bc29ffb7 Add extra #include needed by latest Xcode. 2014-04-29 10:56:19 +10:00
Christopher Kohlhoff
8229b06a2a Update copyright notices. 2014-04-28 13:09:47 +10:00
Christopher Kohlhoff
5b935e27dd Ignore scratch source files and symlinked boost. 2014-04-28 12:51:01 +10:00
Christopher Kohlhoff
e80030ffa1 asio version 1.10.1 released 2013-11-15 10:59:52 +11:00
Christopher Kohlhoff
0df9cedc9f More revision history. 2013-11-15 10:59:52 +11:00
Christopher Kohlhoff
4f40099c11 Add option for creating an asio release tarball. 2013-11-15 10:59:52 +11:00
Christopher Kohlhoff
7961ae0b4b Add configure tests for boost 1.54 and 1.55. 2013-11-14 08:38:43 +11:00
Christopher Kohlhoff
88af15e102 Fix typos in spawn() documentation. 2013-10-27 08:51:50 +11:00
Christopher Kohlhoff
7d86faf110 Regenerate documentation. 2013-10-23 23:23:46 +11:00
Christopher Kohlhoff
f643551d9a Add a note to clarify that concurrent invocation is not guaranteed for
handlers in different strands.
2013-10-23 23:22:26 +11:00
Christopher Kohlhoff
bebda50343 Support older versions of OpenSSL that don't supply SSL_CTX_clear_options. 2013-10-22 09:36:21 +11:00
Christopher Kohlhoff
1b5b525c81 Suppress conversion warnings reported by MSVC. 2013-10-22 09:33:42 +11:00
Christopher Kohlhoff
4dc1958683 Fix WinRT detection. 2013-10-04 08:00:21 +10:00
Christopher Kohlhoff
836caf1e8d Remove line breaks. 2013-09-25 22:53:56 +10:00
Christopher Kohlhoff
f626ae3809 Remove dead link from documentation. 2013-09-25 22:47:13 +10:00
Christopher Kohlhoff
50f8fd48ea Implementation notes for Windows Runtime support. 2013-09-25 08:02:55 +10:00
Christopher Kohlhoff
372b6d6119 Revision history. 2013-09-24 20:35:30 +10:00
Christopher Kohlhoff
b5c048c5ea Regenerate documentation. 2013-09-20 22:16:49 +10:00
Christopher Kohlhoff
0fc8ff651e New header files. 2013-09-20 20:55:41 +10:00
Christopher Kohlhoff
b4f25eb3bd Remove dependency on Boost.Thread for Boost.Asio unit tests. 2013-09-20 19:22:29 +10:00
Christopher Kohlhoff
e67db70d62 Fix long lines. 2013-09-20 19:12:29 +10:00
Christopher Kohlhoff
85dff9412d Fix for MinGW. 2013-09-20 19:03:19 +10:00
Christopher Kohlhoff
a579568eda Update buffered stream operations to adhere to current handler patterns. 2013-09-20 09:47:48 +10:00
Christopher Kohlhoff
d7228f4632 Add a workaround for Microsoft's non-conformant std::system_error. 2013-09-19 08:18:29 +10:00
Christopher Kohlhoff
383b05ecc5 Implement end-of-file condition for WinRT stream sockets. 2013-09-19 08:14:16 +10:00
Christopher Kohlhoff
e51d790cad Fix prefix on extern "C" function name. 2013-09-18 08:53:15 +10:00
Christopher Kohlhoff
f1f4ea75cd Add use_future support for Microsoft Visual C++. 2013-09-16 22:58:36 +10:00
Christopher Kohlhoff
ebe6cd7a97 Enable move support for Microsoft Visual C++ 2012. 2013-09-16 10:29:26 +10:00
Christopher Kohlhoff
51bba37e7d Initial port to Windows Runtime.
This change adds limited support for using Asio with the Windows
Runtime. It requires that the language extensions be enabled. Due to the
restricted facilities exposed by the Windows Runtime API, the port comes
with the following caveats:

* The core facilities such as the io_service, strand, buffers, composed
  operations, timers, etc., should all work as normal.

* For sockets, only client-side TCP is supported.

* Explicit binding of a client-side TCP socket is not supported.

* The cancel() function is not supported for sockets. Asynchronous
  operations may only be cancelled by closing the socket.

* Operations that use null_buffers are not supported.

* Only tcp::no_delay and socket_base::keep_alive options are supported.

* Resolvers do not support service names, only numbers. I.e. you must
  use "80" rather than "http".

* Most resolver query flags have no effect.
2013-09-16 00:22:22 +10:00
Christopher Kohlhoff
a482f2d091 Eliminate some unnecessary handler copies. 2013-09-15 10:46:52 +10:00
Christopher Kohlhoff
93ed48b0a3 Some async operations that missed getting the async_result treatment. 2013-09-15 10:45:46 +10:00
Christopher Kohlhoff
e9b7b07458 Visual C++ language extensions use "generic" as a keyword. Add a
workaround that renames the namespace to "cpp_generic" when those
language extensions are in effect.
2013-09-15 08:24:03 +10:00
Christopher Kohlhoff
308c775f70 Add the ability to use asio without boost, when compiling with Microsoft
Visual Studio 2012.
2013-09-15 00:22:29 +10:00