* Make number of strand implementations configurable by defining
BOOST_ASIO_STRAND_IMPLEMENTATIONS to the number.
* Programs can now define BOOST_ASIO_ENABLE_SEQUENTIAL_STRAND_ALLOCATION to
switch the allocation of strand implementations to use a round-robin approach
rather than hashing.
* Fix potential strand starvation issue that can occur when strand.post() is used.
* Update descriptor state allocation in kqueue_reactor to match approach used in
epoll_reactor.
* Construct epoll_reactor's interrupter member first to fix exception safety
issue. Fixes#6006
* Clarify that the read operation ends when the buffer is full. Fixes#5999
[SVN r75009]
Fix compile error in regex overload of async_read_until.hpp. Fixes#5688
Explicitly specify the signal() function from the global namespace. Fixes#5722
Don't read the clock unless the heap is non-empty.
Change the SSL buffers sizes so that they're large enough to hold a complete TLS record. Fixes#5854
Make sure the synchronous null_buffers operations obey the user's non_blocking setting. Fixes#5756
Set size of select fd_set at runtime when using Windows.
Disable warning due to const qualifier being applied to function type.
Fix crash due to gcc_x86_fenced_block that shows up when using the Intel C++ compiler. Fixes#5763
Specialise operations for buffer sequences that are arrays of exactly two buffers.
Initialise all OpenSSL algorithms.
Fix error mapping when session is gracefully shut down.
Various performance improvements:
* Split the task_io_service's run and poll code.
* Use thread-local operation queues in single-threaded use cases (i.e. concurrency_hint is 1) to eliminate a lock/unlock pair.
* Only fence block exit when a handler is being run directly out of the io_service.
* Prefer x86 mfence-based fenced block when available.
* Use a plain ol' long for the atomic_count when all thread support is disabled.
* Allow some epoll_reactor speculative operations to be performed without holding the lock.
* Improve locality of reference by performing an epoll_reactor's I/O operation immediately before the corresponding handler is called. This also improves scalability across CPUs when multiple threads are running the io_service.
* Pass same error_code variable through to each operation's complete() function.
* Optimise creation of and access to the io_service implementation.
Remove unused state in HTTP server examples.
Add latency test programs.
[SVN r74863]