$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r72847 - in branches/release: boost/asio/detail boost/asio/ssl/detail/impl boost/asio/ssl/impl libs/asio/doc/overview
From: chris_at_[hidden]
Date: 2011-07-02 05:18:42
Author: chris_kohlhoff
Date: 2011-07-02 05:18:41 EDT (Sat, 02 Jul 2011)
New Revision: 72847
URL: http://svn.boost.org/trac/boost/changeset/72847
Log:
Merge fixes from trunk:
* Fix bullet list.
* Fix include guard.
* Zero-length reads and writes need to complete immediately.
* Fix for static mutex initialisation.
Authorized by Beman
Text files modified: 
   branches/release/boost/asio/detail/win_static_mutex.hpp |     6 +++++-                                  
   branches/release/boost/asio/ssl/detail/impl/engine.ipp  |    12 ++++++++++++                            
   branches/release/boost/asio/ssl/impl/src.hpp            |     6 +++---                                  
   branches/release/libs/asio/doc/overview/ssl.qbk         |    14 +++++++-------                          
   4 files changed, 27 insertions(+), 11 deletions(-)
Modified: branches/release/boost/asio/detail/win_static_mutex.hpp
==============================================================================
--- branches/release/boost/asio/detail/win_static_mutex.hpp	(original)
+++ branches/release/boost/asio/detail/win_static_mutex.hpp	2011-07-02 05:18:41 EDT (Sat, 02 Jul 2011)
@@ -55,7 +55,11 @@
   ::CRITICAL_SECTION crit_section_;
 };
 
-#define BOOST_ASIO_WIN_STATIC_MUTEX_INIT { false, { 0, 0, 0, 0, 0, 0 } }
+#if defined(UNDER_CE)
+# define BOOST_ASIO_WIN_STATIC_MUTEX_INIT { false, { 0, 0, 0, 0, 0 } }
+#else // defined(UNDER_CE)
+# define BOOST_ASIO_WIN_STATIC_MUTEX_INIT { false, { 0, 0, 0, 0, 0, 0 } }
+#endif // defined(UNDER_CE)
 
 } // namespace detail
 } // namespace asio
Modified: branches/release/boost/asio/ssl/detail/impl/engine.ipp
==============================================================================
--- branches/release/boost/asio/ssl/detail/impl/engine.ipp	(original)
+++ branches/release/boost/asio/ssl/detail/impl/engine.ipp	2011-07-02 05:18:41 EDT (Sat, 02 Jul 2011)
@@ -126,6 +126,12 @@
 engine::want engine::write(const boost::asio::const_buffer& data,
     boost::system::error_code& ec, std::size_t& bytes_transferred)
 {
+  if (boost::asio::buffer_size(data) == 0)
+  {
+    ec = boost::system::error_code();
+    return engine::want_nothing;
+  }
+
   return perform(&engine::do_write,
       const_cast<void*>(boost::asio::buffer_cast<const void*>(data)),
       boost::asio::buffer_size(data), ec, &bytes_transferred);
@@ -134,6 +140,12 @@
 engine::want engine::read(const boost::asio::mutable_buffer& data,
     boost::system::error_code& ec, std::size_t& bytes_transferred)
 {
+  if (boost::asio::buffer_size(data) == 0)
+  {
+    ec = boost::system::error_code();
+    return engine::want_nothing;
+  }
+
   return perform(&engine::do_read,
       boost::asio::buffer_cast<void*>(data),
       boost::asio::buffer_size(data), ec, &bytes_transferred);
Modified: branches/release/boost/asio/ssl/impl/src.hpp
==============================================================================
--- branches/release/boost/asio/ssl/impl/src.hpp	(original)
+++ branches/release/boost/asio/ssl/impl/src.hpp	2011-07-02 05:18:41 EDT (Sat, 02 Jul 2011)
@@ -8,8 +8,8 @@
 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 //
 
-#ifndef BOOST_ASIO_IMPL_SRC_HPP
-#define BOOST_ASIO_IMPL_SRC_HPP
+#ifndef BOOST_ASIO_SSL_IMPL_SRC_HPP
+#define BOOST_ASIO_SSL_IMPL_SRC_HPP
 
 #define BOOST_ASIO_SOURCE
 
@@ -25,4 +25,4 @@
 #include <boost/asio/ssl/detail/impl/openssl_init.ipp>
 #include <boost/asio/ssl/impl/rfc2818_verification.ipp>
 
-#endif // BOOST_ASIO_IMPL_SRC_HPP
+#endif // BOOST_ASIO_SSL_IMPL_SRC_HPP
Modified: branches/release/libs/asio/doc/overview/ssl.qbk
==============================================================================
--- branches/release/libs/asio/doc/overview/ssl.qbk	(original)
+++ branches/release/libs/asio/doc/overview/ssl.qbk	2011-07-02 05:18:41 EDT (Sat, 02 Jul 2011)
@@ -56,18 +56,18 @@
 Boost.Asio provides various methods for configuring the way SSL certificates are
 verified:
 
-  * [link boost_asio.reference.ssl__context.set_default_verify_paths ssl::context::set_default_verify_paths()]
-  * [link boost_asio.reference.ssl__context.set_verify_mode ssl::context::set_verify_mode()]
-  * [link boost_asio.reference.ssl__context.set_verify_callback ssl::context::set_verify_callback()]
-  * [link boost_asio.reference.ssl__context.load_verify_file ssl::context::load_verify_file()]
-  * [link boost_asio.reference.ssl__stream.set_verify_mode ssl::stream::set_verify_mode()]
-  * [link boost_asio.reference.ssl__stream.set_verify_callback ssl::stream::set_verify_callback()]
+* [link boost_asio.reference.ssl__context.set_default_verify_paths ssl::context::set_default_verify_paths()]
+* [link boost_asio.reference.ssl__context.set_verify_mode ssl::context::set_verify_mode()]
+* [link boost_asio.reference.ssl__context.set_verify_callback ssl::context::set_verify_callback()]
+* [link boost_asio.reference.ssl__context.load_verify_file ssl::context::load_verify_file()]
+* [link boost_asio.reference.ssl__stream.set_verify_mode ssl::stream::set_verify_mode()]
+* [link boost_asio.reference.ssl__stream.set_verify_callback ssl::stream::set_verify_callback()]
 
 To simplify use cases where certificates are verified according to the rules in
 RFC 2818 (certificate verification for HTTPS), Boost.Asio provides a reusable
 verification callback as a function object:
 
-  * [link boost_asio.reference.ssl__rfc2818_verification ssl::rfc2818_verification]
+* [link boost_asio.reference.ssl__rfc2818_verification ssl::rfc2818_verification]
 
 The following example shows verification of a remote host's certificate
 according to the rules used by HTTPS: