Use correct basic_io_object member functions so that basic_object_handle works with c++11 compilers.
Respect the OPENSSL_NO_ENGINE feature test #define.
Last version's race-condition-related revert in the epoll_reactor was
incomplete and broke out-of-band handling. Fixed epoll_reactor::start_op so
that it is now exactly the same as the older, working version.
Remove trailing whitespace.
Eliminate a lock/unlock pair when rescheduling a strand.
Added lazy registration for EPOLLOUT.
Revision history.
Add support for g++ 4.7 when compiling in C++11 mode. Update revision history.
Use the thread's private_op_queue for handlers returned by the reactor task.
This fixes a problem where signal_set handlers are not being called when the
io_service's concurrency hint is set to 1. Refs #6657.
Fix another regression in buffered_write_stream. Refs #6310
Throw exception if SSL engine initialisation fails. Refs #6303
Use SSE2 load and store fences.
Add support for some newer versions of glibc which provide the epoll_create1 function but always fail with ENOSYS. Refs #7012
Eliminate redundant call to call_stack::contains(this) when dispatching a completion handler.
Avoid calling work_finished() if a completion handler creates more work.
Use the __thread keyword extension when compiling with gcc on linux x86.
Make strand destruction a no-op, to allow strand objects to be destroyed after their associated io_service has been destroyed.
Sync version number with release branch.
Ensure use of __thread keyword is disabled for older Intel compilers.
Use gcc's atomic builtins on arm, when available.