Commit Graph

1893 Commits

Author SHA1 Message Date
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
Christopher Kohlhoff
b417db6733 Ignore ERROR_MORE_DATA as a non-fatal error when returned by
GetOverlappedResult for a synchronous read.
2013-09-14 23:43:26 +10:00
Christopher Kohlhoff
99077c6e76 Remove use of std::min. 2013-09-14 23:35:10 +10:00
Christopher Kohlhoff
7d09b17dab Add missing forward declarations needed for Windows. 2013-09-14 23:34:44 +10:00
Christopher Kohlhoff
838a259d0b Fix documentation error where an asynchronous function was described as
having synchronous behaviour.
2013-09-14 23:11:26 +10:00
Christopher Kohlhoff
ff5d07f717 Fix another socket descriptor comparison that doesn't work correctly if
the descriptor type is unsigned.
2013-09-14 23:11:06 +10:00
Christopher Kohlhoff
ca4c666b15 Ignore dirstamp. 2013-09-14 23:06:00 +10:00
Christopher Kohlhoff
79c2a96015 Add missing move cast. 2013-09-14 23:06:00 +10:00
Christopher Kohlhoff
8837bd220d Clean up some internal forward declarations. 2013-09-14 23:06:00 +10:00
Christopher Kohlhoff
552c16f27c Remove spurious whitespace. 2013-09-14 23:06:00 +10:00
Christopher Kohlhoff
c417708af8 Fix error in comment. 2013-09-14 23:06:00 +10:00