Re: [Boost-bugs] [Boost C++ Libraries] #5854: asio::ssl::stream holds last 16K until shutdown IF last buffer is on 16K boundary

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #5854: asio::ssl::stream holds last 16K until shutdown IF last buffer is on 16K boundary
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2011-10-09 22:00:11


#5854: asio::ssl::stream holds last 16K until shutdown IF last buffer is on 16K
boundary
-------------------------------+--------------------------------------------
  Reporter: anonymous | Owner: chris_kohlhoff
      Type: Bugs | Status: closed
 Milestone: To Be Determined | Component: asio
   Version: Boost 1.47.0 | Severity: Showstopper
Resolution: fixed | Keywords:
-------------------------------+--------------------------------------------
Changes (by chris_kohlhoff):

  * status: new => closed
  * resolution: => fixed

Comment:

 (In [74863]) Merge from trunk...

 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.

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/5854#comment:2>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:07 UTC