Christopher Kohlhoff
a589d7344a
Add missing const qualification to acceptor's get_option members.
2018-03-04 22:02:27 +11:00
Christopher Kohlhoff
69c5b2e31e
Work around a mysterious parsing error that occurs with some versions of gcc.
2018-03-04 22:00:17 +11:00
Christopher Kohlhoff
886839cf55
Update copyright notices.
2018-03-04 21:59:30 +11:00
Christopher Kohlhoff
0c9cbdfbf2
Version bump.
2017-12-06 00:10:04 +11:00
Christopher Kohlhoff
1eaa59ea2a
gcc 4.7 is the minimum version required for std::allocator_traits.
2017-12-05 07:38:14 +11:00
Christopher Kohlhoff
df2abf35da
Ensure that use_future<std::allocator<void>> is always constexpr default-constructible.
2017-12-04 09:08:25 +11:00
Christopher Kohlhoff
4883dcd6c7
Add missing variadic template emulation in use_future.
2017-12-03 23:32:35 +11:00
Christopher Kohlhoff
435f47e8e3
Disable buffer debugging for older MSVC, as it triggers compiler misbehaviour.
2017-12-03 21:56:50 +11:00
Christopher Kohlhoff
619cea4356
Add check for _DEFAULT_SOURCE in addition to _BSD_SOURCE.
2017-12-03 21:53:33 +11:00
Christopher Kohlhoff
a57cb2a7a6
Suppress recv truncation errors on Windows, to match POSIX behaviour.
2017-12-02 18:25:44 +11:00
Christopher Kohlhoff
cdd4a0cc81
Add documentation examples of using asio::post to submit work.
2017-12-02 16:13:27 +11:00
Christopher Kohlhoff
c34e42c129
Don't directly include <chrono>, to keep header C++03-compatible.
2017-12-02 10:57:05 +11:00
Christopher Kohlhoff
077ed86047
Add headers for TS compatibility.
2017-12-02 10:23:24 +11:00
Christopher Kohlhoff
dfa54b4fc5
Suppress MSVC dynamic initialisation warning.
2017-12-02 10:09:55 +11:00
Christopher Kohlhoff
8a8157c36d
Add waitable timer headers to convenience header.
2017-12-02 09:16:54 +11:00
Christopher Kohlhoff
7b996f66bd
Increase number of buffers per operation for consuming_buffers.
...
Use a smaller number of buffers when the count can be determined at compile
time, e.g. for std::array or boost::array.
2017-12-02 09:03:14 +11:00
Christopher Kohlhoff
282de16d9b
Increase threshold for small memory block recycling to 1KB.
2017-12-02 09:03:14 +11:00
Christopher Kohlhoff
2bfd4d24d0
Make sure asio/system_context.hpp is self-contained.
2017-12-02 09:03:14 +11:00
Christopher Kohlhoff
78df0763bf
Don't call memcpy with length 0, to avoid passing null pointers.
2017-12-02 09:03:14 +11:00
Christopher Kohlhoff
f8a0469702
Fix description of std::getline's behaviour.
2017-12-02 09:03:14 +11:00
Christopher Kohlhoff
26d4af19c1
Fix clang narrowing warning.
2017-12-02 09:03:14 +11:00
Christopher Kohlhoff
646250076b
Remove last remaining instance of auto_ptr.
2017-12-02 09:03:14 +11:00
Christopher Kohlhoff
edbe617864
Restore binder support for 3, 4 and 5 arguments.
2017-12-02 09:03:14 +11:00
Christopher Kohlhoff
aa0bf0a8b3
Reapply double delete fix, which was overwritten by Networking TS merge.
2017-12-02 09:03:14 +11:00
Christopher Kohlhoff
2e61c6f29f
Add backward compatibility for the old ConnectCondition form.
2017-11-08 00:08:40 +11:00
Christopher Kohlhoff
875788fde3
Ensure make_network_vX error_code overload doesn't throw on invalid prefix length.
2017-11-08 00:08:40 +11:00
Christopher Kohlhoff
f15e842c79
Fix the rights for event objects on UWP.
2017-11-08 00:08:40 +11:00
Christopher Kohlhoff
53f052c9a0
Suppress implicit fallthrough warning on newer gcc.
2017-11-08 00:08:40 +11:00
Christopher Kohlhoff
bfa3e0373e
Fix clang version detection for suppression of unused typedef warning.
2017-11-08 00:08:40 +11:00
Christopher Kohlhoff
a778425068
Fix compile errors in some asio::connect overloads.
2017-11-08 00:08:40 +11:00
Christopher Kohlhoff
d484b66453
Bump minimum MSVC version required for C++11 allocators.
2017-10-25 07:58:21 +11:00
Christopher Kohlhoff
bfe7a04616
Fix compile warning under Emscripten.
2017-10-25 07:57:45 +11:00
Christopher Kohlhoff
59395d663a
Use proper SSL_version() function so that asio can build with BoringSSL.
2017-10-25 07:57:14 +11:00
Christopher Kohlhoff
b60e92b13e
Initial merge of Networking TS compatibility.
...
Merged from chriskohlhoff/asio master branch as of commit
4a4d28b0d24c53236e229bd1b5f378c9964b1ebb.
2017-10-23 21:48:43 +11:00
Christopher Kohlhoff
b002097359
Previous fix introduced a leak, use a better approach.
2017-08-13 07:19:28 +10:00
Christopher Kohlhoff
c8d628ad8a
Fix double delete issue introduced by 3541ec2eb9
.
2017-08-13 00:56:54 +10:00
Christopher Kohlhoff
c88c5f7e1c
Version bump.
2017-08-01 22:31:49 +10:00
Christopher Kohlhoff
de42877700
Require gcc >= 4.7 to use standard atomics.
2017-07-31 18:51:14 +10:00
Christopher Kohlhoff
cdae3dd6b4
Don't use auto_ptr.
2017-07-31 18:51:14 +10:00
Christopher Kohlhoff
25b6042644
Use deregister_internal_descriptor in signal_set_service.
2017-07-31 18:51:14 +10:00
Christopher Kohlhoff
38508353af
Make epoll_reactor resistant to events with duplicate user data.
2017-07-31 18:51:14 +10:00
Christopher Kohlhoff
3541ec2eb9
Don't free the reactor's per-descriptor state until after close.
2017-07-31 18:51:14 +10:00
Christopher Kohlhoff
4d1b169964
Enable newer language features for recent MSVC versions.
2017-07-31 18:51:14 +10:00
Christopher Kohlhoff
3b8a8d6636
is_continuation misplaced in reactive socket service.
2017-07-31 18:51:14 +10:00
Christopher Kohlhoff
84572fb9be
Use poll.h rather than sys/poll.h if possible.
2017-07-31 18:51:14 +10:00
Christopher Kohlhoff
22d69e570d
Fix MSVC Intellisense detection.
2017-07-31 18:51:14 +10:00
Christopher Kohlhoff
3a2e196893
Disable __thread keyword extension for android+x86+clang.
2017-07-31 18:51:14 +10:00
Christopher Kohlhoff
3a73a43f62
Version bump.
2017-03-08 06:49:35 +11:00
Christopher Kohlhoff
9bfe806fc1
Ensure winsock2.h is included before windows.h.
2017-03-05 23:00:10 +11:00
Christopher Kohlhoff
991f613b95
Eliminate new clang comma warning.
2017-03-05 22:59:39 +11:00
Christopher Kohlhoff
2b6230aef8
Make sure asio/ssl/error.hpp is self-contained.
2017-03-05 22:58:18 +11:00
Christopher Kohlhoff
fba6c4ccbd
Add limited support for regular file descriptors.
...
The epoll_reactor now supports the use of regular file descriptors with
posix::stream_descriptor, provided the I/O operations on them never fail
with EAGAIN or EWOULDBLOCK. If the descriptor cannot be added to the
epoll set using epoll_ctl, and errno is EPERM (indicating an unsupported
descriptor type), then no error condition is raised. Instead, any
operation which would require a trip through the reactor will fail.
2017-03-05 22:56:48 +11:00
Christopher Kohlhoff
49aa5e1e6c
In c++11 or later, use allocator_traits to rebind allocators.
2017-03-05 22:55:54 +11:00
Christopher Kohlhoff
8e835cccd1
Fix error when OpenSSL compression is disabled at compile time.
2017-03-05 22:54:28 +11:00
Christopher Kohlhoff
16e880c667
Update mingw mutex initialisation to match non-mingw version.
2017-03-05 22:53:59 +11:00
Christopher Kohlhoff
d76c1f0533
Make SSL/TLS version handling more consistent across OpenSSL versions.
...
This adds new enums context_base::tls, context_base::tls_client and
context_base::tls_server. These allow connections to use any supported
TLS version. (N.B. the deprecated version SSLv3 is explicitly disabled
if you use these values.)
2017-03-05 22:53:05 +11:00
Christopher Kohlhoff
9feee12ac2
Avoid double construction in converting move-constructors.
2017-03-05 22:52:07 +11:00
Christopher Kohlhoff
4645a7c351
Fix compilation with OpenSSL 1.1 API
...
With OPENSSL_API_COMPAT=0x10100000L, SSL_library_init, SSL_load_error_strings, and OpenSSL_add_all_algorithms are removed.
With OPENSSL_API_COMPAT=0x10000000L, these are function-style macros mapping to OPENSSL_init_ssl, which is called automatically anyway.
References:
https://www.openssl.org/docs/man1.1.0/ssl/OPENSSL_init_ssl.html
https://www.openssl.org/docs/man1.1.0/crypto/OPENSSL_init_crypto.html
(from Marcel Raad)
2017-03-05 22:50:36 +11:00
Christopher Kohlhoff
fdec9d1d8f
Suppress some spurious unused variable warnings.
2017-03-05 22:49:54 +11:00
Christopher Kohlhoff
6c19ff7482
Include socket_types.hpp before OpenSSL headers.
2017-03-05 22:48:48 +11:00
Christopher Kohlhoff
4808f72a1f
Re-enable building against LibreSSL.
2017-03-05 22:47:57 +11:00
Christopher Kohlhoff
a8cea6a722
Implement fenced_block using std::atomic_thread_fence, when available.
2017-03-05 22:46:59 +11:00
Christopher Kohlhoff
dd18e955fa
Add workaround for broken getaddrinfo in Apple's NAT64 environment.
2017-03-05 22:45:50 +11:00
Christopher Kohlhoff
0a852879f5
Fix exception safety issue in hash_map.
2017-03-05 22:45:09 +11:00
Christopher Kohlhoff
f7fa336c91
Update copyright notices.
2017-03-05 22:43:47 +11:00
Christopher Kohlhoff
a1fb7b0c10
Version bump.
2016-09-19 07:37:14 +10:00
Christopher Kohlhoff
c1acb8a57b
Add workaround for move-detection issue on MSVC 2015 Update 2.
2016-09-16 08:26:04 +10:00
Christopher Kohlhoff
603ebfb5e1
Call SSL_COMP_free_compression_methods() on ssl cleanup.
...
This call is needed for OpenSSL >=1.0.2 and <1.1.0.
2016-09-16 08:20:51 +10:00
Christopher Kohlhoff
42e7869f41
Fix allocator usage to compile with g++ 6.
2016-09-11 12:12:39 +10:00
Christopher Kohlhoff
3d71bdaf23
Use new TLS methods on OpenSSL 1.1.0.
2016-09-11 12:12:39 +10:00
Christopher Kohlhoff
8ea3165df9
Backward compatibility for code using OpenSSL < 1.1.0.
...
Some application code using asio::ssl::stream<> explicitly tests for the
SSL_R_SHORT_READ error. For compatibility, when using older versions of
OpenSSL we will define the ssl::error::stream_truncated to use this
value.
2016-09-11 12:12:39 +10:00
Christopher Kohlhoff
864ca38b6d
Terminate loop if connect condition returns an end iterator.
2016-09-11 12:12:39 +10:00
Christopher Kohlhoff
54c9424b5a
Enable getaddrinfo by default on Apple platforms.
...
The getaddrinfo function is now used by default unless Mac OS X 10.4 or
earlier is detected. Its use may also be explicitly disabled by defining
ASIO_DISABLE_GETADDRINFO.
2016-09-11 12:12:39 +10:00
Christopher Kohlhoff
370363b33f
Fix errors when OPENSSL_NO_DEPRECATED is defined.
2016-09-11 12:01:12 +10:00
Christopher Kohlhoff
a50a350310
Only apply firewall workaround when getsockname outputs INADDR_ANY.
2016-09-11 11:59:19 +10:00
Christopher Kohlhoff
812cfa7a5c
Add compatibility with OpenSSL 1.1
...
- SSLv2 has been completely removed from OpenSSL, even without OPENSSL_NO_SSL2
- there is a new threading API without locking callbacks
- struct SSL_CTX has been made opaque and must be used via accessor functions
- some cleanup functions have been removed
(from Marcel Raad <raad@teamviewer.com>)
2016-09-11 11:57:28 +10:00
Christopher Kohlhoff
424ad6b736
BoringSSL does not provide CONF_modules_unload.
2016-09-11 11:37:29 +10:00
Christopher Kohlhoff
84e840390b
Add new error category and constant for ssl::error::stream_truncated.
...
This error replaces uses of SSL_R_SHORT_READ, and indicates that the
SSL stream has been shut down abruptly. (I.e. the underlying socket
has been closed without performing an SSL-layer shutdown.)
2016-09-11 11:36:53 +10:00
Christopher Kohlhoff
36eef63a9c
Update copyright notices.
2016-09-11 11:35:40 +10:00
Christopher Kohlhoff
0f0f94a9d7
Remove old header file that was accidentally left behind.
2016-09-11 11:30:19 +10:00
Christopher Kohlhoff
8fe7f5d24e
Version bump.
2015-12-14 12:01:39 +11:00
Christopher Kohlhoff
763d513043
Xcode/clang and plain clang use different version numbering.
2015-12-12 11:13:36 +11:00
Christopher Kohlhoff
fb4befe985
LibreSSL doesn't provide SSL_CTX_clear_chain_certs.
2015-12-12 11:12:47 +11:00
Christopher Kohlhoff
345ac9aa13
Use CreateEventW rather than CreateEvent.
2015-12-10 22:51:53 +11:00
Christopher Kohlhoff
e1c67f0377
Pass correct output buffer size to strncat.
2015-12-10 22:51:53 +11:00
Christopher Kohlhoff
6582b6966a
Fix typo in comment.
2015-12-10 22:51:53 +11:00
Christopher Kohlhoff
bae401b1eb
Support for building with OpenSSL when OPENSSL_NO_SSL3 is defined.
2015-12-10 22:45:24 +11:00
Christopher Kohlhoff
073b2943cc
Suppress unused typedef warning when using clang.
2015-12-10 22:45:24 +11:00
Christopher Kohlhoff
dd28aed1e5
Use SSL_CTX_clear_chain_certs, if available.
2015-12-10 22:45:24 +11:00
Christopher Kohlhoff
b9cb61416e
Prevent multiple definition of BOOST_ASIO_ERROR_CATEGORY_NOEXCEPT with newest MSVC.
2015-12-10 22:45:24 +11:00
Christopher Kohlhoff
798f2a98e8
Add support for Windows 8.1 store apps.
2015-12-10 22:45:24 +11:00
Christopher Kohlhoff
d1db517230
Version bump.
2015-03-24 07:21:45 +11:00
Christopher Kohlhoff
c9c75601e0
Don't push/pop options around Boost.DateTime header.
2015-03-22 10:57:34 +11:00
Christopher Kohlhoff
c05d773886
Remove redundant pointer check in SSL engine.
2015-03-21 20:54:31 +11:00
Christopher Kohlhoff
3aa7b1b19d
Fix race condition in windows::object_handle.
2015-03-21 20:26:31 +11:00
Christopher Kohlhoff
382804a432
Use default visibility everywhere.
2015-03-21 18:28:43 +11:00
Christopher Kohlhoff
6cf37dc2f2
Fix WinRT detection.
...
WINAPI_FAMILY_ONE_PARTITION is no longer defined in newer
Windows SDKs.
2015-03-20 18:58:46 +11:00
Christopher Kohlhoff
f342f9bdd2
ERR_remove_state is deprecated, use ERR_remove_thread_state instead.
2015-03-20 09:35:13 +11:00
Christopher Kohlhoff
41bf42b8da
Update copyright notices.
2015-03-20 00:14:19 +11:00
Christopher Kohlhoff
a1d5248f3a
New macro BOOST_ASIO_DISABLE_CONNECTEX to disable ConnectEx use.
2015-03-20 00:06:08 +11:00
Christopher Kohlhoff
b261738d79
Strip the scope id from address string before passing to inet_pton.
...
On some platforms, like FreeBSD, inet_pton fails if the address
string includes trailing characters like a scope id.
2015-03-19 23:57:44 +11:00
Christopher Kohlhoff
b954a03b6f
Allow nested calls to completion handler when using yield_context.
2015-03-19 23:56:46 +11:00
Christopher Kohlhoff
83008fc4ce
Treat multicast test failures with ENODEV as non-fatal.
2015-03-19 23:55:38 +11:00
Christopher Kohlhoff
98a3f07417
Map ConnectEx errors to portable equivalents.
...
Fixes boost trac ticket 10744.
2015-03-19 23:55:02 +11:00
Christopher Kohlhoff
cba8ec4ce8
Fix ssl::stream bug that may cause spurious 'short read' errors.
2015-03-19 23:53:58 +11:00
Christopher Kohlhoff
8f5bf7a739
Move result into coro_handler.
2015-03-19 23:53:12 +11:00
Christopher Kohlhoff
5a136ac8f5
std::addressof isn't available until g++ 4.6.
2015-03-19 23:52:43 +11:00
Christopher Kohlhoff
09eeb03cbb
Move result of a yield_context operation.
2015-03-19 23:52:06 +11:00
Christopher Kohlhoff
1b3bd862d2
Fix unsigned int overflow reported by clang's integer sanitizer.
2015-03-19 23:51:28 +11:00
Christopher Kohlhoff
1de80ca253
Automatically support clang with libstdc++ when standalone.
2015-03-19 23:50:55 +11:00
Christopher Kohlhoff
224c7d22d3
Ensure OpenSSL error queue is cleared before each operation.
2015-03-19 23:50:06 +11:00
Christopher Kohlhoff
2580addfc0
Use password callback when loading in-memory private key.
2015-03-19 23:48:32 +11:00
Christopher Kohlhoff
f3a184977a
Add options for disabling TLS v1.1 and v1.2.
2015-03-19 23:47:59 +11:00
Christopher Kohlhoff
75928f7ed2
Ensure a system header is included before testing __GLIBC_MINOR__.
2015-03-19 23:46:56 +11:00
Christopher Kohlhoff
ada6e27059
Newest MSVC needs noexcept on error_category members.
2015-03-19 23:46:03 +11:00
Christopher Kohlhoff
1fecaa9898
Version bump.
2014-10-17 22:49:55 +11:00
Christopher Kohlhoff
d109f120fa
Explicitly mark asio::strand as deprecated.
...
Use asio::io_service::strand instead.
2014-10-17 22:49:14 +11:00
Christopher Kohlhoff
b5b6c42cfe
Fix compile error in /dev/poll reactor.
...
Fixes boost trac tickets #10350 , #10572 .
2014-10-16 19:23:59 +11:00
Christopher Kohlhoff
83c88d6b7a
Make all kqueue event registration lazy.
...
Fixes the kqueue reactor so that it works on FreeBSD again.
Fixes boost trac ticket #10606 .
2014-10-16 19:23:59 +11:00
Christopher Kohlhoff
1890b2c488
Deregister EVFILT_WRITE to avoid spinning with serial ports.
...
Fixes boost trac ticket #10496 .
2014-10-16 19:23:59 +11:00
Christopher Kohlhoff
715ae947f2
Use correct type in byte order conversion of shorts.
...
Fixes boost trac ticket #10539 .
2014-10-16 19:23:59 +11:00
Christopher Kohlhoff
7c73af05e9
Fix shadow variable warnings.
2014-10-16 19:12:24 +11:00
Christopher Kohlhoff
d772ea8722
Add lazy kqueue EVFILT_WRITE registration.
...
This fixes support for read-only file descriptors, such as those
obtained from libpcap by calling pcap_get_selectable_fd.
Fixes boost trac ticket #10367 .
2014-10-16 19:10:29 +11:00
Christopher Kohlhoff
ee431b4a1f
Fix warnings reported by VS2013.
...
Fixes boost trac ticket #10376 .
2014-10-16 19:08:35 +11:00
Christopher Kohlhoff
504ff0474e
Explicitly use WSASocketW, as WSASocketA has been deprecated.
...
Fixes boost trac ticket #10534 .
2014-10-16 19:06:56 +11:00
Christopher Kohlhoff
2c24ee7dd0
Version bump.
2014-07-28 07:29:48 +10:00
Christopher Kohlhoff
cc9730e493
Avoid using newly-deprecated Winsock functions.
2014-07-26 19:23:29 +10:00
Christopher Kohlhoff
39fb24ea39
Fix shadow variable warning.
2014-07-26 19:23:04 +10:00
Christopher Kohlhoff
9108db61bc
Don't use EV_CLEAR when registering interrupter.
...
Fixes copy/paste error introduced in 660e9fe302
.
2014-07-26 19:22:13 +10:00
Christopher Kohlhoff
cf2ff15857
Version bump.
2014-06-30 14:03:16 +10:00
Christopher Kohlhoff
be64cc8ac9
The intel compiler doesn't provide the SSE2 intrinsics.
2014-06-29 20:55:21 +10:00
Christopher Kohlhoff
78ff082f0c
Use SSE2 intrinsics to allow the Cray compiler to work.
2014-06-28 22:37:20 +10:00
Christopher Kohlhoff
9ef094e650
Work around gcc problem to do with anonymous enums.
...
Fixes boost trac ticket #10042 .
2014-06-28 22:06:19 +10:00
Christopher Kohlhoff
80a3fb7a59
Return bytes transferred when ReadFile fails with ERROR_MORE_DATA.
...
Reverted the previous change to ignore ERROR_MORE_DATA. Instead,
the error will propagated as with any other (i.e. in an error_code
or thrown as a system_error). For code that needs to handle partial
messages, the error_code overload should be used.
Fixes boost trac ticket #10034 .
2014-06-28 22:04:43 +10:00
Christopher Kohlhoff
541d2d48a6
Fix off-by-one error in signal number check.
...
Fixes boost trac ticket #9324 .
2014-06-28 22:03:08 +10:00
Christopher Kohlhoff
ec9768daae
Use VerifyVersionInfo rather than GetVersionEx.
...
GetVersionEx has been deprecated.
2014-06-28 22:02:00 +10:00
Christopher Kohlhoff
c2d25de553
Don't assume SO_UPDATE_CONNECT_CONTEXT is defined.
...
Fixes boost trac ticket #10016 .
2014-06-28 22:00:39 +10:00
Christopher Kohlhoff
4dc6f2c328
Version bump.
2014-05-05 12:48:38 +10:00
Christopher Kohlhoff
f0e429f537
Defend against min/max macros.
2014-05-05 11:33:29 +10:00
Christopher Kohlhoff
4a0c1e5da2
Remove tab character.
2014-05-05 11:33:05 +10:00
Christopher Kohlhoff
2c9b017ccf
Put back the event::signal() member.
...
The asio::detail::event class seems to be being used by other
projects, so we'll keep the old function name to avoid unnecessary
breakage.
2014-05-04 10:57:08 +10:00
Christopher Kohlhoff
0356a567bd
Move event #include to correct location.
2014-05-04 10:35:34 +10:00
Christopher Kohlhoff
2114f2d17b
Clarify that buffer_copy does not support overlapping memory regions.
...
Fixes boost trac ticket #8295 .
2014-05-04 10:06:45 +10:00
Christopher Kohlhoff
b4bb504599
Support stringified scope ids for link-local multicast.
2014-05-04 10:06:45 +10:00
Christopher Kohlhoff
208748a3b5
Use scope id as default IPv6 multicast interface.
2014-05-04 10:06:45 +10:00
Christopher Kohlhoff
c1fa653a38
Use a single condition variable per io_service.
...
This change fixes a potential race condition when using run_one() from
multiple threads. It also paves the way for the future addition of
timed io_service::run() overloads.
2014-05-04 10:06:45 +10:00
Christopher Kohlhoff
615a75884b
Fix unused argument warning.
2014-05-04 09:37:01 +10:00
Christopher Kohlhoff
0484963a55
Use ConnectEx where available.
...
N.B. This change conservatively limits the use of ConnectEx to
connection-oriented IP sockets.
2014-05-03 10:25:31 +10:00
Christopher Kohlhoff
107dcb750f
Update some more copyright notices.
2014-05-03 10:21:15 +10:00
Christopher Kohlhoff
9d13af49f8
Disable GetQueuedCompletionStatus workaround on recent Windows versions.
2014-05-03 10:18:39 +10:00
Christopher Kohlhoff
e4e914bc4d
Fix type aliasing issue reported by gcc.
...
Fixes boost trac ticket #9550 .
2014-05-03 10:17:42 +10:00
Christopher Kohlhoff
c06aa74f08
Make select_reactor more efficient on Windows for large numbers of sockets.
...
Fixes boost trac ticket #9528 .
2014-05-03 10:15:07 +10:00
Christopher Kohlhoff
1417badc04
Clarify that commit() and consume() do not throw.
...
Fixes boost trac ticket #9605 .
2014-05-03 10:14:11 +10:00
Christopher Kohlhoff
9e75760570
Fix infinite recursion in operator~ implementation.
...
Fixes boost trac ticket #9548 .
2014-05-03 10:13:08 +10:00
Christopher Kohlhoff
981addd4ee
Fix incorrect documentation on async_send.
...
Fixed boost trac ticket #9771 .
2014-05-03 10:11:02 +10:00
Christopher Kohlhoff
660e9fe302
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-05-03 10:10:12 +10:00
Christopher Kohlhoff
92a53bd3cc
Compute greatest common divisor to prevent unnecessary integer overflow.
...
Fixes boost trac tickets #9662 , #9778 .
2014-05-03 10:09:04 +10:00
Christopher Kohlhoff
bd50a1b593
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-05-03 10:05:23 +10:00
Christopher Kohlhoff
85640f548a
Fix spawn() when Boost.Coroutine v2 is used.
...
Fixes boost trac tickets #9442 , #9928 .
2014-05-03 09:40:42 +10:00
Christopher Kohlhoff
3cc2cd94be
Fix delegation of continuation hook.
...
Fixes boost trac ticket #9741 .
2014-05-03 09:28:25 +10:00
Christopher Kohlhoff
8dd99f4e04
Make system_error available via error.hpp.
2014-05-03 09:27:36 +10:00
Christopher Kohlhoff
02659b6fde
Add extra #include needed by latest Xcode.
2014-05-03 09:26:42 +10:00
Christopher Kohlhoff
28f690f504
Update copyright notices.
2014-05-03 09:25:39 +10:00
Christopher Kohlhoff
0e90106a30
Make develop identical to master.
2014-05-03 08:57:44 +10:00
Christopher Kohlhoff
0d57ea2d16
Fix typos in spawn() documentation.
...
[SVN r86465]
2013-10-26 22:42:53 +00:00
Christopher Kohlhoff
0113c1831f
Add a note to clarify that concurrent invocation is not guaranteed for handlers in different strands.
...
[SVN r86464]
2013-10-26 22:39:23 +00:00
Christopher Kohlhoff
41899ae46a
Support older versions of OpenSSL that don't supply SSL_CTX_clear_options.
...
[SVN r86463]
2013-10-26 22:35:32 +00:00
Christopher Kohlhoff
8612b7b1bd
Suppress conversion warnings reported by MSVC.
...
[SVN r86462]
2013-10-26 22:32:01 +00:00
Christopher Kohlhoff
813f272583
Fix WinRT detection.
...
[SVN r86152]
2013-10-03 23:59:54 +00:00
Christopher Kohlhoff
e290a34cd3
Reverted asio changed made under [85904], [85952], [86050] and [86105]. Will reconsider after 1.55 is released.
...
[SVN r86151]
2013-10-03 22:59:24 +00:00
Stephen Kelly
bf56879631
Asio: Remove obsolete GCC version checks.
...
[SVN r86105]
2013-10-01 08:42:20 +00:00
Stephen Kelly
dafe0562c7
ASIO: Clean up pragma guard comment.
...
[SVN r86050]
2013-09-30 11:22:07 +00:00
Stephen Kelly
93b2b4dc46
Remove obsolete MSVC check from pragma guard
...
git grep -h -B1 "^#\s*pragma once" | grep -v pragma | sort | uniq
is now clean.
[SVN r85952]
2013-09-26 13:02:51 +00:00
Stephen Kelly
b571d87989
Asio: Remove obsolete MSVC version check.
...
[SVN r85904]
2013-09-25 13:51:51 +00:00
Christopher Kohlhoff
03b51d1764
MinGW fix.
...
[SVN r85799]
2013-09-20 12:02:33 +00:00
Christopher Kohlhoff
2c7c13012a
Update buffered stream operations to adhere to current handler patterns.
...
[SVN r85798]
2013-09-20 12:00:44 +00:00
Christopher Kohlhoff
d08bc082f2
Implement end-of-file condition for WinRT stream sockets.
...
[SVN r85781]
2013-09-18 22:43:01 +00:00
Christopher Kohlhoff
d3845b7fd3
Fix prefix on extern "C" function name.
...
[SVN r85768]
2013-09-17 22:53:17 +00:00
Christopher Kohlhoff
1cd626f4d7
Add use_future support for Microsoft Visual C++.
...
[SVN r85767]
2013-09-17 22:42:50 +00:00
Christopher Kohlhoff
8047e7f180
Enable move support for Microsoft Visual C++ 2012.
...
[SVN r85766]
2013-09-17 22:38:04 +00:00
Christopher Kohlhoff
e746865f78
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.
[SVN r85764]
2013-09-17 22:24:19 +00:00
Christopher Kohlhoff
d6bb7d0e4a
Eliminate some unnecessary handler copies.
...
[SVN r85763]
2013-09-17 22:14:14 +00:00
Christopher Kohlhoff
9e2fc1f61e
Some async operations that missed getting the async_result treatment.
...
[SVN r85762]
2013-09-17 22:12:07 +00:00
Christopher Kohlhoff
06e5aeedca
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.
[SVN r85761]
2013-09-17 22:08:43 +00:00
Christopher Kohlhoff
12f4e8280b
Enable certain C++11 standard library facilities for recent versions of Microsoft Visual Studio.
...
[SVN r85760]
2013-09-17 22:08:07 +00:00
Christopher Kohlhoff
4752c98d59
Inore ERROR_MORE_DATA as a non-fatal error when returned by
...
GetOverlappedResult for a synchronous read.
[SVN r85759]
2013-09-17 22:06:25 +00:00
Christopher Kohlhoff
07f0ea9996
Remove use of std::min.
...
[SVN r85758]
2013-09-17 22:05:38 +00:00
Christopher Kohlhoff
10dd1488c7
Add missing forward declarations needed for Windows.
...
[SVN r85757]
2013-09-17 22:04:55 +00:00
Christopher Kohlhoff
558a771072
Fix documentation error where an asynchronous function was described as
...
having synchronous behaviour.
[SVN r85756]
2013-09-17 22:04:10 +00:00
Christopher Kohlhoff
799f24ddf8
Fix another socket descriptor comparison that doesn't work correctly if
...
the descriptor type is unsigned.
[SVN r85755]
2013-09-17 22:03:29 +00:00
Christopher Kohlhoff
5cd67a72cc
Add missing move cast.
...
[SVN r85754]
2013-09-17 22:01:26 +00:00
Christopher Kohlhoff
dcc918d0a9
Clean up some internal forward declarations.
...
[SVN r85753]
2013-09-17 22:00:53 +00:00
Christopher Kohlhoff
8fafa6f60a
Remove spurious whitespace.
...
[SVN r85752]
2013-09-17 21:53:45 +00:00
Christopher Kohlhoff
c230dd2ed0
Fix error in comment.
...
[SVN r85751]
2013-09-17 21:53:03 +00:00
Christopher Kohlhoff
131b7a25ab
Clarify that programs must not issue overlapping async_write_at operations.
...
[SVN r85750]
2013-09-17 21:52:27 +00:00
Christopher Kohlhoff
32a41f7871
Enable the move optimisation (and otherwise eliminate a copy) for handlers
...
using the default invocation hook.
[SVN r85749]
2013-09-17 21:51:28 +00:00
Christopher Kohlhoff
aba096cc75
Suppress g++ 4.8+ warning about unused typedefs.
...
[SVN r85747]
2013-09-17 21:45:43 +00:00
Christopher Kohlhoff
749e9d2219
Ensure signal number is correctly passed to the completion handler when
...
starting an async_wait on a signal that is already raised.
[SVN r85746]
2013-09-17 21:43:29 +00:00
Christopher Kohlhoff
d203da445e
Fix comparison used to test for a successful synchronous accept.
...
[SVN r85745]
2013-09-17 21:42:48 +00:00
Christopher Kohlhoff
475e3239e5
Fix a bug in handler tracking, where it was not correctly printing out some handler IDs.
...
[SVN r85744]
2013-09-17 21:42:08 +00:00