Boost logo

Boost-Commit :

From: eric_at_[hidden]
Date: 2007-12-08 21:45:27


Author: eric_niebler
Date: 2007-12-08 21:45:25 EST (Sat, 08 Dec 2007)
New Revision: 41916
URL: http://svn.boost.org/trac/boost/changeset/41916

Log:
Merged revisions 41816-41915 via svnmerge from
https://svn.boost.org/svn/boost/trunk

........
  r41819 | anthonyw | 2007-12-07 00:11:11 -0800 (Fri, 07 Dec 2007) | 1 line
  
  fixed order of comparison in timeout check
........
  r41823 | chris_kohlhoff | 2007-12-07 04:53:39 -0800 (Fri, 07 Dec 2007) | 2 lines
  
  Try to fix stall when sending large amounts of data over SSL.
........
  r41830 | andreas_huber69 | 2007-12-07 11:03:46 -0800 (Fri, 07 Dec 2007) | 1 line
  
  Added markup for various statechart failures.
........
  r41842 | dave | 2007-12-07 15:23:39 -0800 (Fri, 07 Dec 2007) | 2 lines
  
  Fix msvc auto-configuration (yikes!)
........
  r41845 | chris_kohlhoff | 2007-12-07 16:18:59 -0800 (Fri, 07 Dec 2007) | 2 lines
  
  Documentation fixes.
........
  r41863 | andreas_huber69 | 2007-12-08 02:05:41 -0800 (Sat, 08 Dec 2007) | 1 line
  
  Added markup for various statechart failures.
........
  r41864 | danieljames | 2007-12-08 03:04:40 -0800 (Sat, 08 Dec 2007) | 2 lines
  
  Try to suppress a Visual C++ warning. Refs #1509
........
  r41866 | danieljames | 2007-12-08 04:24:36 -0800 (Sat, 08 Dec 2007) | 2 lines
  
  Only suppress warning for Visual C++ 8 and later. Refs #1509
........
  r41867 | chris_kohlhoff | 2007-12-08 05:00:45 -0800 (Sat, 08 Dec 2007) | 2 lines
  
  Documentation fixes.
........
  r41868 | chris_kohlhoff | 2007-12-08 05:48:52 -0800 (Sat, 08 Dec 2007) | 2 lines
  
  Suppress signed/unsigned warning.
........
  r41870 | chris_kohlhoff | 2007-12-08 06:03:40 -0800 (Sat, 08 Dec 2007) | 2 lines
  
  Ensure asio header comes before boost.thread header.
........
  r41889 | johnmaddock | 2007-12-08 08:04:54 -0800 (Sat, 08 Dec 2007) | 2 lines
  
  Removed double quoting of Doxygen title.
  Fixes: http://lists.boost.org/boost-users/2007/12/32523.php
........
  r41907 | jhunold | 2007-12-08 12:02:33 -0800 (Sat, 08 Dec 2007) | 2 lines
  
  Add support for QtScript library.
........
  r41908 | jhunold | 2007-12-08 12:08:29 -0800 (Sat, 08 Dec 2007) | 2 lines
  
  Add dependency scanner for Qt Resource Files (.qrc).
........

Properties modified:
   branches/proto/v3/ (props changed)
Text files modified:
   branches/proto/v3/boost/asio/detail/posix_fd_set_adapter.hpp | 2
   branches/proto/v3/boost/asio/ssl/detail/openssl_operation.hpp | 38 +++++-
   branches/proto/v3/boost/functional/detail/hash_float.hpp | 12 +
   branches/proto/v3/libs/asio/doc/asio.qbk | 1
   branches/proto/v3/libs/asio/doc/examples.qbk | 12 +
   branches/proto/v3/libs/asio/doc/reference.qbk | 241 +++++++++++++++++++++++++--------------
   branches/proto/v3/libs/asio/doc/reference.xsl | 22 +++
   branches/proto/v3/libs/asio/example/chat/chat_client.cpp | 2
   branches/proto/v3/libs/asio/example/echo/blocking_tcp_echo_server.cpp | 2
   branches/proto/v3/libs/asio/test/io_service.cpp | 2
   branches/proto/v3/libs/asio/test/strand.cpp | 2
   branches/proto/v3/libs/thread/test/test_mutex.cpp | 2
   branches/proto/v3/status/explicit-failures-markup.xml | 27 ++-
   branches/proto/v3/tools/build/v2/tools/doxygen.jam | 2
   branches/proto/v3/tools/build/v2/tools/msvc.jam | 3
   branches/proto/v3/tools/build/v2/tools/qt4.jam | 39 ++++++
   16 files changed, 288 insertions(+), 121 deletions(-)

Modified: branches/proto/v3/boost/asio/detail/posix_fd_set_adapter.hpp
==============================================================================
--- branches/proto/v3/boost/asio/detail/posix_fd_set_adapter.hpp (original)
+++ branches/proto/v3/boost/asio/detail/posix_fd_set_adapter.hpp 2007-12-08 21:45:25 EST (Sat, 08 Dec 2007)
@@ -38,7 +38,7 @@
 
   bool set(socket_type descriptor)
   {
- if (descriptor < FD_SETSIZE)
+ if (descriptor < (socket_type)FD_SETSIZE)
     {
       if (max_descriptor_ == invalid_socket || descriptor > max_descriptor_)
         max_descriptor_ = descriptor;

Modified: branches/proto/v3/boost/asio/ssl/detail/openssl_operation.hpp
==============================================================================
--- branches/proto/v3/boost/asio/ssl/detail/openssl_operation.hpp (original)
+++ branches/proto/v3/boost/asio/ssl/detail/openssl_operation.hpp 2007-12-08 21:45:25 EST (Sat, 08 Dec 2007)
@@ -101,6 +101,10 @@
       &openssl_operation::do_async_write,
       this, boost::arg<1>(), boost::arg<2>()
     );
+ read_ = boost::bind(
+ &openssl_operation::do_async_read,
+ this
+ );
     handler_= boost::bind(
       &openssl_operation::async_user_handler,
       this, boost::arg<1>(), boost::arg<2>()
@@ -123,6 +127,10 @@
       &openssl_operation::do_sync_write,
       this, boost::arg<1>(), boost::arg<2>()
     );
+ read_ = boost::bind(
+ &openssl_operation::do_sync_read,
+ this
+ );
     handler_ = boost::bind(
       &openssl_operation::sync_user_handler,
       this, boost::arg<1>(), boost::arg<2>()
@@ -135,7 +143,7 @@
   int start()
   {
     int rc = primitive_( session_ );
- int sys_error_code = ERR_get_error();
+
     bool is_operation_done = (rc > 0);
                 // For connect/accept/shutdown, the operation
                 // is done, when return code is 1
@@ -145,6 +153,8 @@
     int error_code = !is_operation_done ?
           ::SSL_get_error( session_, rc ) :
           0;
+ int sys_error_code = ERR_get_error();
+
     bool is_read_needed = (error_code == SSL_ERROR_WANT_READ);
     bool is_write_needed = (error_code == SSL_ERROR_WANT_WRITE ||
                               ::BIO_ctrl_pending( ssl_bio_ ));
@@ -212,6 +222,10 @@
 
         return start();
       }
+ else if (is_read_needed)
+ {
+ return read_();
+ }
     }
 
     // Continue with operation, flush any SSL data out to network...
@@ -223,10 +237,12 @@
   typedef boost::function<int (const boost::system::error_code&, int)>
     int_handler_func;
   typedef boost::function<int (bool, int)> write_func;
+ typedef boost::function<int ()> read_func;
 
   ssl_primitive_func primitive_;
   user_handler_func user_handler_;
   write_func write_;
+ read_func read_;
   int_handler_func handler_;
     
   net_buffer send_buf_; // buffers for network IO
@@ -250,8 +266,15 @@
     throw boost::system::system_error(error);
   }
     
- int async_user_handler(const boost::system::error_code& error, int rc)
+ int async_user_handler(boost::system::error_code error, int rc)
   {
+ if (rc < 0)
+ {
+ if (!error)
+ error = boost::asio::error::no_recovery;
+ rc = 0;
+ }
+
     user_handler_(error, rc);
     return 0;
   }
@@ -316,8 +339,8 @@
     }
     
     // OPeration is not done and writing to net has been made...
- // start reading...
- do_async_read();
+ // start operation again
+ start();
           
     return 0;
   }
@@ -340,7 +363,7 @@
       handler_(error, rc);
   }
 
- void do_async_read()
+ int do_async_read()
   {
     // Wait for new data
     socket_.async_read_some
@@ -355,6 +378,7 @@
         boost::asio::placeholders::bytes_transferred
       )
     );
+ return 0;
   }
 
   void async_read_handler(const boost::system::error_code& error,
@@ -433,8 +457,8 @@
       // Finish the operation, with success
       return rc;
                 
- // Operation is not finished, read data from net...
- return do_sync_read();
+ // Operation is not finished, start again.
+ return start();
   }
 
   int do_sync_read()

Modified: branches/proto/v3/boost/functional/detail/hash_float.hpp
==============================================================================
--- branches/proto/v3/boost/functional/detail/hash_float.hpp (original)
+++ branches/proto/v3/boost/functional/detail/hash_float.hpp 2007-12-08 21:45:25 EST (Sat, 08 Dec 2007)
@@ -14,6 +14,14 @@
 # pragma once
 #endif
 
+#if defined(BOOST_MSVC)
+#pragma warning(push)
+#if BOOST_MSVC >= 1400
+#pragma warning(disable:6294) // Ill-defined for-loop: initial condition does
+ // not satisfy test. Loop body not executed
+#endif
+#endif
+
 #include <boost/functional/detail/float_functions.hpp>
 #include <boost/integer/static_log2.hpp>
 #include <boost/cstdint.hpp>
@@ -181,4 +189,8 @@
     }
 }
 
+#if defined(BOOST_MSVC)
+#pragma warning(pop)
+#endif
+
 #endif

Modified: branches/proto/v3/libs/asio/doc/asio.qbk
==============================================================================
--- branches/proto/v3/libs/asio/doc/asio.qbk (original)
+++ branches/proto/v3/libs/asio/doc/asio.qbk 2007-12-08 21:45:25 EST (Sat, 08 Dec 2007)
@@ -17,7 +17,6 @@
     [authors [Kohlhoff, Christopher]]
     [category template]
     [category generic]
- [last-revision $Date$]
 ]
 
 [template mdash[] '''&mdash; ''']

Modified: branches/proto/v3/libs/asio/doc/examples.qbk
==============================================================================
--- branches/proto/v3/libs/asio/doc/examples.qbk (original)
+++ branches/proto/v3/libs/asio/doc/examples.qbk 2007-12-08 21:45:25 EST (Sat, 08 Dec 2007)
@@ -50,8 +50,8 @@
 [heading HTTP Client]
 
 Example programs implementing simple HTTP 1.0 clients. These examples show how
-to use the [link boost_asio.reference.read_until] and [link
-boost_asio.reference.async_read_until] functions.
+to use the [link boost_asio.reference.read_until read_until] and [link
+boost_asio.reference.async_read_until async_read_until] functions.
 
 * [@../../example/http/client/sync_client.cpp]
 * [@../../example/http/client/async_client.cpp]
@@ -139,7 +139,8 @@
 
 [heading Iostreams]
 
-Two examples showing how to use [link boost_asio.reference.ip__tcp.iostream].
+Two examples showing how to use [link boost_asio.reference.ip__tcp.iostream
+ip::tcp::iostream].
 
 * [@../../example/iostreams/daytime_client.cpp]
 * [@../../example/iostreams/daytime_server.cpp]
@@ -170,7 +171,7 @@
 This example demonstrates how to integrate custom functionality (in this case,
 for logging) into asio's [link boost_asio.reference.io_service io_service], and
 how to use a custom service with [link
-boost_asio.reference.basic_stream_socket].
+boost_asio.reference.basic_stream_socket basic_stream_socket<>].
 
 * [@../../example/services/basic_logger.hpp]
 * [@../../example/services/daytime_client.cpp]
@@ -192,7 +193,8 @@
 [heading SSL]
 
 Example client and server programs showing the use of the [link
-boost_asio.reference.ssl__stream] template with asynchronous operations.
+boost_asio.reference.ssl__stream ssl::stream<>] template with asynchronous
+operations.
 
 * [@../../example/ssl/client.cpp]
 * [@../../example/ssl/server.cpp]

Modified: branches/proto/v3/libs/asio/doc/reference.qbk
==============================================================================
--- branches/proto/v3/libs/asio/doc/reference.qbk (original)
+++ branches/proto/v3/libs/asio/doc/reference.qbk 2007-12-08 21:45:25 EST (Sat, 08 Dec 2007)
@@ -3879,7 +3879,7 @@
 
 The maximum length of the queue of pending incoming connections.
 
- static const int max_connections;
+ static const int max_connections = implementation_defined;
 
 
 
@@ -3894,7 +3894,7 @@
 
 Specify that the data should not be subject to routing.
 
- static const int message_do_not_route;
+ static const int message_do_not_route = implementation_defined;
 
 
 
@@ -3925,7 +3925,7 @@
 
 Process out-of-band data.
 
- static const int message_out_of_band;
+ static const int message_out_of_band = implementation_defined;
 
 
 
@@ -3940,7 +3940,7 @@
 
 Peek at incoming data without removing it from the input queue.
 
- static const int message_peek;
+ static const int message_peek = implementation_defined;
 
 
 
@@ -8445,7 +8445,7 @@
 
 The maximum length of the queue of pending incoming connections.
 
- static const int max_connections;
+ static const int max_connections = implementation_defined;
 
 
 
@@ -8460,7 +8460,7 @@
 
 Specify that the data should not be subject to routing.
 
- static const int message_do_not_route;
+ static const int message_do_not_route = implementation_defined;
 
 
 
@@ -8491,7 +8491,7 @@
 
 Process out-of-band data.
 
- static const int message_out_of_band;
+ static const int message_out_of_band = implementation_defined;
 
 
 
@@ -8506,7 +8506,7 @@
 
 Peek at incoming data without removing it from the input queue.
 
- static const int message_peek;
+ static const int message_peek = implementation_defined;
 
 
 
@@ -11089,7 +11089,7 @@
 
 The maximum length of the queue of pending incoming connections.
 
- static const int max_connections;
+ static const int max_connections = implementation_defined;
 
 
 
@@ -11104,7 +11104,7 @@
 
 Specify that the data should not be subject to routing.
 
- static const int message_do_not_route;
+ static const int message_do_not_route = implementation_defined;
 
 
 
@@ -11135,7 +11135,7 @@
 
 Process out-of-band data.
 
- static const int message_out_of_band;
+ static const int message_out_of_band = implementation_defined;
 
 
 
@@ -11150,7 +11150,7 @@
 
 Peek at incoming data without removing it from the input queue.
 
- static const int message_peek;
+ static const int message_peek = implementation_defined;
 
 
 
@@ -13870,7 +13870,7 @@
 
 The maximum length of the queue of pending incoming connections.
 
- static const int max_connections;
+ static const int max_connections = implementation_defined;
 
 
 
@@ -13885,7 +13885,7 @@
 
 Specify that the data should not be subject to routing.
 
- static const int message_do_not_route;
+ static const int message_do_not_route = implementation_defined;
 
 
 
@@ -13916,7 +13916,7 @@
 
 Process out-of-band data.
 
- static const int message_out_of_band;
+ static const int message_out_of_band = implementation_defined;
 
 
 
@@ -13931,7 +13931,7 @@
 
 Peek at incoming data without removing it from the input queue.
 
- static const int message_peek;
+ static const int message_peek = implementation_defined;
 
 
 
@@ -17346,7 +17346,7 @@
 
 The maximum length of the queue of pending incoming connections.
 
- static const int max_connections;
+ static const int max_connections = implementation_defined;
 
 
 
@@ -17361,7 +17361,7 @@
 
 Specify that the data should not be subject to routing.
 
- static const int message_do_not_route;
+ static const int message_do_not_route = implementation_defined;
 
 
 
@@ -17392,7 +17392,7 @@
 
 Process out-of-band data.
 
- static const int message_out_of_band;
+ static const int message_out_of_band = implementation_defined;
 
 
 
@@ -17407,7 +17407,7 @@
 
 Peek at incoming data without removing it from the input queue.
 
- static const int message_peek;
+ static const int message_peek = implementation_defined;
 
 
 
@@ -19793,7 +19793,7 @@
 
 The default buffer size.
 
- static const std::size_t default_buffer_size;
+ static const std::size_t default_buffer_size = implementation_defined;
 
 
 
@@ -20963,7 +20963,7 @@
 
 The default buffer size.
 
- static const std::size_t default_buffer_size;
+ static const std::size_t default_buffer_size = implementation_defined;
 
 
 
@@ -22881,7 +22881,7 @@
 
 
 
- static const boost::system::error_category & addrinfo_category;
+ static const boost::system::error_category & addrinfo_category = boost::asio::error::get_addrinfo_category();
 
 
 
@@ -23087,6 +23087,66 @@
 [endsect]
 
 
+
+[section:error__get_addrinfo_category error::get_addrinfo_category]
+
+
+
+ const boost::system::error_category & get_addrinfo_category();
+
+
+
+[endsect]
+
+
+
+[section:error__get_misc_category error::get_misc_category]
+
+
+
+ const boost::system::error_category & get_misc_category();
+
+
+
+[endsect]
+
+
+
+[section:error__get_netdb_category error::get_netdb_category]
+
+
+
+ const boost::system::error_category & get_netdb_category();
+
+
+
+[endsect]
+
+
+
+[section:error__get_ssl_category error::get_ssl_category]
+
+
+
+ const boost::system::error_category & get_ssl_category();
+
+
+
+[endsect]
+
+
+
+[section:error__get_system_category error::get_system_category]
+
+
+
+ const boost::system::error_category & get_system_category();
+
+
+
+[endsect]
+
+
 [section:error__make_error_code error::make_error_code]
 
 
@@ -23178,7 +23238,7 @@
 
 
 
- static const boost::system::error_category & misc_category;
+ static const boost::system::error_category & misc_category = boost::asio::error::get_misc_category();
 
 
 
@@ -23210,6 +23270,11 @@
     [Element not found. ]
   ]
 
+ [
+ [fd_set_failure]
+ [The descriptor cannot fit into the select system call's fd_set. ]
+ ]
+
 ]
 
 
@@ -23222,7 +23287,7 @@
 
 
 
- static const boost::system::error_category & netdb_category;
+ static const boost::system::error_category & netdb_category = boost::asio::error::get_netdb_category();
 
 
 
@@ -23271,7 +23336,7 @@
 
 
 
- static const boost::system::error_category & ssl_category;
+ static const boost::system::error_category & ssl_category = boost::asio::error::get_ssl_category();
 
 
 
@@ -23300,7 +23365,7 @@
 
 
 
- static const boost::system::error_category & system_category;
+ static const boost::system::error_category & system_category = boost::asio::error::get_system_category();
 
 
 
@@ -27770,7 +27835,7 @@
 
 Only return IPv4 addresses if a non-loopback IPv4 address is configured for the system. Only return IPv6 addresses if a non-loopback IPv6 address is configured for the system.
 
- static const int address_configured;
+ static const int address_configured = implementation_defined;
 
 
 
@@ -27785,7 +27850,7 @@
 
 If used with v4_mapped, return all matching IPv6 and IPv4 addresses.
 
- static const int all_matching;
+ static const int all_matching = implementation_defined;
 
 
 
@@ -27886,7 +27951,7 @@
 
 Determine the canonical name of the host specified in the query.
 
- static const int canonical_name;
+ static const int canonical_name = implementation_defined;
 
 
 
@@ -27925,7 +27990,7 @@
 
 Host name should be treated as a numeric string defining an IPv4 or IPv6 address and no name resolution should be attempted.
 
- static const int numeric_host;
+ static const int numeric_host = implementation_defined;
 
 
 
@@ -27940,7 +28005,7 @@
 
 Service name should be treated as a numeric string defining a port number and no name resolution should be attempted.
 
- static const int numeric_service;
+ static const int numeric_service = implementation_defined;
 
 
 
@@ -27955,7 +28020,7 @@
 
 Indicate that returned endpoint is intended for use as a locally bound socket endpoint.
 
- static const int passive;
+ static const int passive = implementation_defined;
 
 
 
@@ -27995,7 +28060,7 @@
 
 If the query protocol family is specified as IPv6, return IPv4-mapped IPv6 addresses on finding no IPv6 addresses.
 
- static const int v4_mapped;
+ static const int v4_mapped = implementation_defined;
 
 
 
@@ -28267,7 +28332,7 @@
 
 Only return IPv4 addresses if a non-loopback IPv4 address is configured for the system. Only return IPv6 addresses if a non-loopback IPv6 address is configured for the system.
 
- static const int address_configured;
+ static const int address_configured = implementation_defined;
 
 
 
@@ -28279,7 +28344,7 @@
 
 If used with v4_mapped, return all matching IPv6 and IPv4 addresses.
 
- static const int all_matching;
+ static const int all_matching = implementation_defined;
 
 
 
@@ -28291,7 +28356,7 @@
 
 Determine the canonical name of the host specified in the query.
 
- static const int canonical_name;
+ static const int canonical_name = implementation_defined;
 
 
 
@@ -28303,7 +28368,7 @@
 
 Host name should be treated as a numeric string defining an IPv4 or IPv6 address and no name resolution should be attempted.
 
- static const int numeric_host;
+ static const int numeric_host = implementation_defined;
 
 
 
@@ -28315,7 +28380,7 @@
 
 Service name should be treated as a numeric string defining a port number and no name resolution should be attempted.
 
- static const int numeric_service;
+ static const int numeric_service = implementation_defined;
 
 
 
@@ -28327,7 +28392,7 @@
 
 Indicate that returned endpoint is intended for use as a locally bound socket endpoint.
 
- static const int passive;
+ static const int passive = implementation_defined;
 
 
 
@@ -28339,7 +28404,7 @@
 
 If the query protocol family is specified as IPv6, return IPv4-mapped IPv6 addresses on finding no IPv6 addresses.
 
- static const int v4_mapped;
+ static const int v4_mapped = implementation_defined;
 
 
 
@@ -33256,7 +33321,7 @@
 
 The maximum length of the queue of pending incoming connections.
 
- static const int max_connections;
+ static const int max_connections = implementation_defined;
 
 
 
@@ -33268,7 +33333,7 @@
 
 Specify that the data should not be subject to routing.
 
- static const int message_do_not_route;
+ static const int message_do_not_route = implementation_defined;
 
 
 
@@ -33293,7 +33358,7 @@
 
 Process out-of-band data.
 
- static const int message_out_of_band;
+ static const int message_out_of_band = implementation_defined;
 
 
 
@@ -33305,7 +33370,7 @@
 
 Peek at incoming data without removing it from the input queue.
 
- static const int message_peek;
+ static const int message_peek = implementation_defined;
 
 
 
@@ -33862,7 +33927,7 @@
 
 Implement various bug workarounds.
 
- static const int default_workarounds;
+ static const int default_workarounds = implementation_defined;
 
 
 
@@ -34091,7 +34156,7 @@
 
 Disable SSL v2.
 
- static const int no_sslv2;
+ static const int no_sslv2 = implementation_defined;
 
 
 
@@ -34106,7 +34171,7 @@
 
 Disable SSL v3.
 
- static const int no_sslv3;
+ static const int no_sslv3 = implementation_defined;
 
 
 
@@ -34121,7 +34186,7 @@
 
 Disable TLS v1.
 
- static const int no_tlsv1;
+ static const int no_tlsv1 = implementation_defined;
 
 
 
@@ -34450,7 +34515,7 @@
 
 Always create a new key when using tmp_dh parameters.
 
- static const int single_dh_use;
+ static const int single_dh_use = implementation_defined;
 
 
 
@@ -34874,7 +34939,7 @@
 
 Do not request client certificate on renegotiation. Ignored unless verify_peer is set.
 
- static const int verify_client_once;
+ static const int verify_client_once = implementation_defined;
 
 
 
@@ -34889,7 +34954,7 @@
 
 Fail verification if the peer has no certificate. Ignored unless verify_peer is set.
 
- static const int verify_fail_if_no_peer_cert;
+ static const int verify_fail_if_no_peer_cert = implementation_defined;
 
 
 
@@ -34920,7 +34985,7 @@
 
 No verification.
 
- static const int verify_none;
+ static const int verify_none = implementation_defined;
 
 
 
@@ -34935,7 +35000,7 @@
 
 Verify the peer.
 
- static const int verify_peer;
+ static const int verify_peer = implementation_defined;
 
 
 
@@ -35251,7 +35316,7 @@
 
 Implement various bug workarounds.
 
- static const int default_workarounds;
+ static const int default_workarounds = implementation_defined;
 
 
 
@@ -35367,7 +35432,7 @@
 
 Disable SSL v2.
 
- static const int no_sslv2;
+ static const int no_sslv2 = implementation_defined;
 
 
 
@@ -35379,7 +35444,7 @@
 
 Disable SSL v3.
 
- static const int no_sslv3;
+ static const int no_sslv3 = implementation_defined;
 
 
 
@@ -35391,7 +35456,7 @@
 
 Disable TLS v1.
 
- static const int no_tlsv1;
+ static const int no_tlsv1 = implementation_defined;
 
 
 
@@ -35443,7 +35508,7 @@
 
 Always create a new key when using tmp_dh parameters.
 
- static const int single_dh_use;
+ static const int single_dh_use = implementation_defined;
 
 
 
@@ -35455,7 +35520,7 @@
 
 Do not request client certificate on renegotiation. Ignored unless verify_peer is set.
 
- static const int verify_client_once;
+ static const int verify_client_once = implementation_defined;
 
 
 
@@ -35467,7 +35532,7 @@
 
 Fail verification if the peer has no certificate. Ignored unless verify_peer is set.
 
- static const int verify_fail_if_no_peer_cert;
+ static const int verify_fail_if_no_peer_cert = implementation_defined;
 
 
 
@@ -35492,7 +35557,7 @@
 
 No verification.
 
- static const int verify_none;
+ static const int verify_none = implementation_defined;
 
 
 
@@ -35504,7 +35569,7 @@
 
 Verify the peer.
 
- static const int verify_peer;
+ static const int verify_peer = implementation_defined;
 
 
 
@@ -38992,12 +39057,12 @@
 
 [endsect]
 
-[section:error__addrinfo_errors__gt_ error::addrinfo_errors >]
+[section:is_error_code_enum_lt__addrinfo_errors__gt_ boost::system::is_error_code_enum< boost::asio::error::addrinfo_errors >]
 
 
 
   template<>
- struct is_error_code_enum< boost::asio::error::addrinfo_errors >
+ struct boost::system::is_error_code_enum< boost::asio::error::addrinfo_errors >
 
 
 [heading Data Members]
@@ -39005,18 +39070,18 @@
   [[Name][Description]]
 
   [
- [[link boost_asio.reference.error__addrinfo_errors__gt_.value [*value]]]
+ [[link boost_asio.reference.is_error_code_enum_lt__addrinfo_errors__gt_.value [*value]]]
     []
   ]
 
 ]
 
 
-[section:value error::addrinfo_errors >::value]
+[section:value boost::system::is_error_code_enum< boost::asio::error::addrinfo_errors >::value]
 
 
 
- static const bool value;
+ static const bool value = true;
 
 
 
@@ -39026,12 +39091,12 @@
 
 [endsect]
 
-[section:error__basic_errors__gt_ error::basic_errors >]
+[section:is_error_code_enum_lt__basic_errors__gt_ boost::system::is_error_code_enum< boost::asio::error::basic_errors >]
 
 
 
   template<>
- struct is_error_code_enum< boost::asio::error::basic_errors >
+ struct boost::system::is_error_code_enum< boost::asio::error::basic_errors >
 
 
 [heading Data Members]
@@ -39039,18 +39104,18 @@
   [[Name][Description]]
 
   [
- [[link boost_asio.reference.error__basic_errors__gt_.value [*value]]]
+ [[link boost_asio.reference.is_error_code_enum_lt__basic_errors__gt_.value [*value]]]
     []
   ]
 
 ]
 
 
-[section:value error::basic_errors >::value]
+[section:value boost::system::is_error_code_enum< boost::asio::error::basic_errors >::value]
 
 
 
- static const bool value;
+ static const bool value = true;
 
 
 
@@ -39060,12 +39125,12 @@
 
 [endsect]
 
-[section:error__misc_errors__gt_ error::misc_errors >]
+[section:is_error_code_enum_lt__misc_errors__gt_ boost::system::is_error_code_enum< boost::asio::error::misc_errors >]
 
 
 
   template<>
- struct is_error_code_enum< boost::asio::error::misc_errors >
+ struct boost::system::is_error_code_enum< boost::asio::error::misc_errors >
 
 
 [heading Data Members]
@@ -39073,18 +39138,18 @@
   [[Name][Description]]
 
   [
- [[link boost_asio.reference.error__misc_errors__gt_.value [*value]]]
+ [[link boost_asio.reference.is_error_code_enum_lt__misc_errors__gt_.value [*value]]]
     []
   ]
 
 ]
 
 
-[section:value error::misc_errors >::value]
+[section:value boost::system::is_error_code_enum< boost::asio::error::misc_errors >::value]
 
 
 
- static const bool value;
+ static const bool value = true;
 
 
 
@@ -39094,12 +39159,12 @@
 
 [endsect]
 
-[section:error__netdb_errors__gt_ error::netdb_errors >]
+[section:is_error_code_enum_lt__netdb_errors__gt_ boost::system::is_error_code_enum< boost::asio::error::netdb_errors >]
 
 
 
   template<>
- struct is_error_code_enum< boost::asio::error::netdb_errors >
+ struct boost::system::is_error_code_enum< boost::asio::error::netdb_errors >
 
 
 [heading Data Members]
@@ -39107,18 +39172,18 @@
   [[Name][Description]]
 
   [
- [[link boost_asio.reference.error__netdb_errors__gt_.value [*value]]]
+ [[link boost_asio.reference.is_error_code_enum_lt__netdb_errors__gt_.value [*value]]]
     []
   ]
 
 ]
 
 
-[section:value error::netdb_errors >::value]
+[section:value boost::system::is_error_code_enum< boost::asio::error::netdb_errors >::value]
 
 
 
- static const bool value;
+ static const bool value = true;
 
 
 
@@ -39128,12 +39193,12 @@
 
 [endsect]
 
-[section:error__ssl_errors__gt_ error::ssl_errors >]
+[section:is_error_code_enum_lt__ssl_errors__gt_ boost::system::is_error_code_enum< boost::asio::error::ssl_errors >]
 
 
 
   template<>
- struct is_error_code_enum< boost::asio::error::ssl_errors >
+ struct boost::system::is_error_code_enum< boost::asio::error::ssl_errors >
 
 
 [heading Data Members]
@@ -39141,18 +39206,18 @@
   [[Name][Description]]
 
   [
- [[link boost_asio.reference.error__ssl_errors__gt_.value [*value]]]
+ [[link boost_asio.reference.is_error_code_enum_lt__ssl_errors__gt_.value [*value]]]
     []
   ]
 
 ]
 
 
-[section:value error::ssl_errors >::value]
+[section:value boost::system::is_error_code_enum< boost::asio::error::ssl_errors >::value]
 
 
 
- static const bool value;
+ static const bool value = true;
 
 
 

Modified: branches/proto/v3/libs/asio/doc/reference.xsl
==============================================================================
--- branches/proto/v3/libs/asio/doc/reference.xsl (original)
+++ branches/proto/v3/libs/asio/doc/reference.xsl 2007-12-08 21:45:25 EST (Sat, 08 Dec 2007)
@@ -103,6 +103,9 @@
 <xsl:template name="strip-asio-ns">
   <xsl:param name="name"/>
   <xsl:choose>
+ <xsl:when test="contains($name, 'boost::system::is_error_code_enum')">
+ <xsl:value-of select="$name"/>
+ </xsl:when>
     <xsl:when test="contains($name, 'asio::')">
       <xsl:value-of select="substring-after($name, 'asio::')"/>
     </xsl:when>
@@ -116,6 +119,9 @@
 <xsl:template name="strip-ns">
   <xsl:param name="name"/>
   <xsl:choose>
+ <xsl:when test="contains($name, 'boost::system::is_error_code_enum')">
+ <xsl:value-of select="$name"/>
+ </xsl:when>
     <xsl:when test="contains($name, '::') and contains($name, '&lt;')">
       <xsl:choose>
         <xsl:when test="string-length(substring-before($name, '::')) &lt; string-length(substring-before($name, '&lt;'))">
@@ -143,6 +149,18 @@
 <xsl:template name="make-id">
   <xsl:param name="name"/>
   <xsl:choose>
+ <xsl:when test="contains($name, 'boost::system::')">
+ <xsl:call-template name="make-id">
+ <xsl:with-param name="name"
+ select="substring-after($name, 'boost::system::')"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:when test="contains($name, 'boost::asio::error::')">
+ <xsl:call-template name="make-id">
+ <xsl:with-param name="name"
+ select="concat(substring-before($name, 'boost::asio::error::'), substring-after($name, 'boost::asio::error::'))"/>
+ </xsl:call-template>
+ </xsl:when>
     <xsl:when test="contains($name, '::')">
       <xsl:call-template name="make-id">
         <xsl:with-param name="name"
@@ -793,7 +811,9 @@
 <xsl:template name="variable">
 <xsl:text>
   </xsl:text><xsl:if test="@static='yes'">static </xsl:if><xsl:value-of
- select="type"/><xsl:text> </xsl:text><xsl:value-of select="name"/>;
+ select="type"/><xsl:text> </xsl:text><xsl:value-of select="name"/>
+ <xsl:if test="count(initializer) = 1"><xsl:text> =</xsl:text>
+ <xsl:value-of select="initializer"/></xsl:if>;
 </xsl:template>
 
 

Modified: branches/proto/v3/libs/asio/example/chat/chat_client.cpp
==============================================================================
--- branches/proto/v3/libs/asio/example/chat/chat_client.cpp (original)
+++ branches/proto/v3/libs/asio/example/chat/chat_client.cpp 2007-12-08 21:45:25 EST (Sat, 08 Dec 2007)
@@ -11,9 +11,9 @@
 #include <cstdlib>
 #include <deque>
 #include <iostream>
-#include <boost/thread.hpp>
 #include <boost/bind.hpp>
 #include <boost/asio.hpp>
+#include <boost/thread.hpp>
 #include "chat_message.hpp"
 
 using boost::asio::ip::tcp;

Modified: branches/proto/v3/libs/asio/example/echo/blocking_tcp_echo_server.cpp
==============================================================================
--- branches/proto/v3/libs/asio/example/echo/blocking_tcp_echo_server.cpp (original)
+++ branches/proto/v3/libs/asio/example/echo/blocking_tcp_echo_server.cpp 2007-12-08 21:45:25 EST (Sat, 08 Dec 2007)
@@ -10,10 +10,10 @@
 
 #include <cstdlib>
 #include <iostream>
-#include <boost/thread.hpp>
 #include <boost/bind.hpp>
 #include <boost/smart_ptr.hpp>
 #include <boost/asio.hpp>
+#include <boost/thread.hpp>
 
 using boost::asio::ip::tcp;
 

Modified: branches/proto/v3/libs/asio/test/io_service.cpp
==============================================================================
--- branches/proto/v3/libs/asio/test/io_service.cpp (original)
+++ branches/proto/v3/libs/asio/test/io_service.cpp 2007-12-08 21:45:25 EST (Sat, 08 Dec 2007)
@@ -17,9 +17,9 @@
 #include <boost/asio/io_service.hpp>
 
 #include <sstream>
-#include <boost/thread.hpp>
 #include <boost/bind.hpp>
 #include <boost/asio.hpp>
+#include <boost/thread.hpp>
 #include "unit_test.hpp"
 
 using namespace boost::asio;

Modified: branches/proto/v3/libs/asio/test/strand.cpp
==============================================================================
--- branches/proto/v3/libs/asio/test/strand.cpp (original)
+++ branches/proto/v3/libs/asio/test/strand.cpp 2007-12-08 21:45:25 EST (Sat, 08 Dec 2007)
@@ -17,9 +17,9 @@
 #include <boost/asio/strand.hpp>
 
 #include <sstream>
-#include <boost/thread.hpp>
 #include <boost/bind.hpp>
 #include <boost/asio.hpp>
+#include <boost/thread.hpp>
 #include "unit_test.hpp"
 
 using namespace boost::asio;

Modified: branches/proto/v3/libs/thread/test/test_mutex.cpp
==============================================================================
--- branches/proto/v3/libs/thread/test/test_mutex.cpp (original)
+++ branches/proto/v3/libs/thread/test/test_mutex.cpp 2007-12-08 21:45:25 EST (Sat, 08 Dec 2007)
@@ -138,7 +138,7 @@
 
         boost::system_time now=boost::get_system_time();
         boost::posix_time::milliseconds const timeout_resolution(20);
- BOOST_CHECK((now-timeout_resolution)<timeout);
+ BOOST_CHECK((timeout-timeout_resolution)<now);
 
         // Test the lock, unlock and timedlock methods.
         lock.unlock();

Modified: branches/proto/v3/status/explicit-failures-markup.xml
==============================================================================
--- branches/proto/v3/status/explicit-failures-markup.xml (original)
+++ branches/proto/v3/status/explicit-failures-markup.xml 2007-12-08 21:45:25 EST (Sat, 08 Dec 2007)
@@ -4396,15 +4396,27 @@
             <note author="Andreas Huber" refid="29"/>
         </mark-expected-failures>
         <mark-expected-failures reason="?">
+ <test name="TransitionTest*"/>
+ <toolset name="intel-linux*"/>
+ <toolset name="pathscale*"/>
+ <note author="Andreas Huber" refid="29"/>
+ </mark-expected-failures>
+ <mark-expected-failures reason="?">
+ <test name="TransitionTest*"/>
+ <test name="InvalidTransitionTest1Relaxed"/>
+ <test name="StopWatchExample"/>
+ <toolset name="vacpp-8.0"/>
+ <note author="Andreas Huber" refid="29"/>
+ </mark-expected-failures>
+ <mark-expected-failures reason="?">
             <test name="CustomReactionTest*"/>
             <toolset name="acc*"/>
             <note author="Andreas Huber" refid="29"/>
         </mark-expected-failures>
         <mark-expected-failures reason="?">
- <test name="TransitionTest*"/>
- <test name="PerformanceExample"/>
- <toolset name="vacpp"/>
- <note author="Andreas Huber" refid="29"/>
+ <test name="HistoryTestRelaxed"/>
+ <toolset name="intel-linux-9.1"/>
+ <note author="Andreas Huber" refid="29"/>
         </mark-expected-failures>
         <mark-expected-failures>
             <test name="StopWatch*"/>
@@ -4415,13 +4427,10 @@
                 ignored.
             </note>
         </mark-expected-failures>
- <mark-expected-failures>
+ <mark-expected-failures reason="?">
             <test name="DllTest*"/>
             <toolset name="msvc-8.0~wm5~stlport5.1"/>
- <note author="Andreas Huber">
- This test fails due to unresolved externals that are
- not library-related.
- </note>
+ <note author="Andreas Huber" refid="29"/>
         </mark-expected-failures>
     </library>
 

Modified: branches/proto/v3/tools/build/v2/tools/doxygen.jam
==============================================================================
--- branches/proto/v3/tools/build/v2/tools/doxygen.jam (original)
+++ branches/proto/v3/tools/build/v2/tools/doxygen.jam 2007-12-08 21:45:25 EST (Sat, 08 Dec 2007)
@@ -299,7 +299,7 @@
     }
     for local title in [ feature.get-values <reftitle> : $(properties) ]
     {
- xslt-properties += "<xsl:param>boost.doxygen.reftitle=\"$(title)\"" ;
+ xslt-properties += "<xsl:param>boost.doxygen.reftitle=$(title)" ;
     }
 
     xsltproc.xslt $(target) : $(source) $(d2b-xsl) : $(xslt-properties) ;

Modified: branches/proto/v3/tools/build/v2/tools/msvc.jam
==============================================================================
--- branches/proto/v3/tools/build/v2/tools/msvc.jam (original)
+++ branches/proto/v3/tools/build/v2/tools/msvc.jam 2007-12-08 21:45:25 EST (Sat, 08 Dec 2007)
@@ -996,11 +996,10 @@
             for local x in "" "Wow6432Node\\"
             {
                 vc-path += [ W32_GETREG
- "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\"$(x)$(.version-$(i)-reg)
+ "HKEY_LOCAL_MACHINE\\SOFTWARE\\"$(x)"\\Microsoft\\"$(.version-$(i)-reg)
                 : "ProductDir" ] ;
             }
             
-
             if $(vc-path)
             {
                 vc-path = [ path.native [ path.join [ path.make-NT $(vc-path[1]) ] "bin" ] ] ;

Modified: branches/proto/v3/tools/build/v2/tools/qt4.jam
==============================================================================
--- branches/proto/v3/tools/build/v2/tools/qt4.jam (original)
+++ branches/proto/v3/tools/build/v2/tools/qt4.jam 2007-12-08 21:45:25 EST (Sat, 08 Dec 2007)
@@ -46,6 +46,7 @@
 import toolset : flags ;
 import os ;
 import virtual-target ;
+import scanner ;
 
 # Qt3Support control feature
 #
@@ -116,11 +117,14 @@
         # Generates .cpp file from qrc file
         generators.register-standard qt4.rcc : QRC : CPP(qrc_%) ;
         
+ # dependency scanner for wrapped files
+ type.set-scanner QRC : qrc-scanner ;
+
         # Test for a buildable Qt.
         if [ glob $(.prefix)/Jamroot ]
         {
             # Import all Qt Modules
- local all-libraries = QtCore QtGui QtNetwork QtXml QtSql QtSvg QtOpenGL Qt3Support QtTest QtAssistantClient QtDesigner QtUiTools QtDBus ;
+ local all-libraries = QtCore QtGui QtNetwork QtXml QtSql QtSvg QtOpenGL Qt3Support QtTest QtAssistantClient QtDesigner QtUiTools QtDBus QtScript ;
             for local l in $(all-libraries)
             {
                 alias $(l)
@@ -422,6 +426,23 @@
                 : # usage-requirements
                   <include>$(.incprefix)/QtDBus
                 ;
+
+ # Script-Engine (Qt 4.3)
+ lib QtScript : QtGui QtXml
+ : # requirements
+ <name>QtScript$(suffix_version)
+ : # default-build
+ : # usage-requirements
+ <include>$(.incprefix)/QtScript
+ ;
+ lib QtScript : QtGui QtXml
+ : # requirements
+ <name>QtScript$(suffix_debug)$(suffix_version)
+ <variant>debug
+ : # default-build
+ : # usage-requirements
+ <include>$(.incprefix)/QtScript
+ ;
         }
     }
     
@@ -587,3 +608,19 @@
 {
     $(.binprefix)/uic $(>) -o $(<)
 }
+
+# Scanner for .qrc files.
+# Look for the CDATA section of the <file> tag.
+# Ignore the "alias" attribute.
+# See http://doc.trolltech.com/qt/resources.html
+# for detailed documentation of the Qt Resource System.
+class qrc-scanner : common-scanner
+{
+ rule pattern ( )
+ {
+ return "<file.*>(.*)</file>" ;
+ }
+}
+
+# Wrapped files are "included".
+scanner.register qrc-scanner : include ;


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk