Full merge from trunk at revision 41356 of entire boost-root tree.
Full merge from trunk at revision 41356 of entire boost-root tree.
Merge revisions 41407, 41432, 41477, 41478 from trunk.
Merged revisions 41701-41702,41706,41708-41726,41728-41733,41737,41743-41769,41771-41774,41776-41777,41779-41787,41790,41792-41794,41796-41797,41799-41800,41803-41804,41806-41818,41820-41829,41831-41841,41843-41862,41865,41867-41870 via svnmerge from 
https://svn.boost.org/svn/boost/trunk

........
  r41701 | chris_kohlhoff | 2007-12-05 08:28:42 +1100 (Wed, 05 Dec 2007) | 2 lines
  
  Prevent deprecated function warnings for MSVC >= 8.
........
  r41762 | chris_kohlhoff | 2007-12-06 08:46:19 +1100 (Thu, 06 Dec 2007) | 2 lines
  
  Don't use deprecated function workaround when compiling for Windows CE.
........
  r41823 | chris_kohlhoff | 2007-12-07 23:53:39 +1100 (Fri, 07 Dec 2007) | 2 lines
  
  Try to fix stall when sending large amounts of data over SSL.
........
  r41845 | chris_kohlhoff | 2007-12-08 11:18:59 +1100 (Sat, 08 Dec 2007) | 2 lines
  
  Documentation fixes.
........
  r41867 | chris_kohlhoff | 2007-12-09 00:00:45 +1100 (Sun, 09 Dec 2007) | 2 lines
  
  Documentation fixes.
........
  r41868 | chris_kohlhoff | 2007-12-09 00:48:52 +1100 (Sun, 09 Dec 2007) | 2 lines
  
  Suppress signed/unsigned warning.
........
  r41870 | chris_kohlhoff | 2007-12-09 01:03:40 +1100 (Sun, 09 Dec 2007) | 2 lines
  
  Ensure asio header comes before boost.thread header.
........
Ensure that the asio docs are generated.
Need to copy images used by the asio docs to the correct location.
Fix up links to asio example source files by copying the source files into the documentation directory.
Merged in fixes from trunk.

........
  r42119 | chris_kohlhoff | 2007-12-18 00:04:30 +1100 (Tue, 18 Dec 2007) | 2 lines
  
  Fixes for older HP-UX.
........
  r42121 | chris_kohlhoff | 2007-12-18 00:17:46 +1100 (Tue, 18 Dec 2007) | 2 lines
  
  Documentation fixes.
........
  r42750 | chris_kohlhoff | 2008-01-15 00:13:35 +1100 (Tue, 15 Jan 2008) | 2 lines
  
  Fix concept name in comment.
........
  r42752 | chris_kohlhoff | 2008-01-15 00:20:06 +1100 (Tue, 15 Jan 2008) | 2 lines
  
  Add missing broken pipe error.
........
  r42753 | chris_kohlhoff | 2008-01-15 00:21:37 +1100 (Tue, 15 Jan 2008) | 3 lines
  
  Don't include sys/time.h when compiling with aCC, as that header does not
  supply pselect(), which is needed for HP-UX/aCC to work correctly.
........
  r42754 | chris_kohlhoff | 2008-01-15 00:22:21 +1100 (Tue, 15 Jan 2008) | 2 lines
  
  Disable noisy and incorrect /Wp64 warnings generated by MSVC.
........
  r42755 | chris_kohlhoff | 2008-01-15 00:24:28 +1100 (Tue, 15 Jan 2008) | 3 lines
  
  Don't call epoll_wait/kevent if there are no old operations (where old means
  added prior to the last epoll_wait/kevent call) needing to be demultiplexed.
........
  r42756 | chris_kohlhoff | 2008-01-15 00:25:24 +1100 (Tue, 15 Jan 2008) | 2 lines
  
  Silence some integer truncation warnings.
........
  r42758 | chris_kohlhoff | 2008-01-15 00:27:52 +1100 (Tue, 15 Jan 2008) | 8 lines
  
  Silence some integer truncation warnings.
  
  Only perform the windows-bug workaround where we use a short timeout with
  GetQueuedCompletionStatus from one thread, i.e. the timer thread.
  
  Keep track of the number of OVERLAPPED-derived operations to ensure that
  they all get cleaned up when the io_service is destroyed.
........
  r42759 | chris_kohlhoff | 2008-01-15 00:29:08 +1100 (Tue, 15 Jan 2008) | 5 lines
  
  Check for truncation when converting buffer size from size_t to openssl's
  int argument.
  
  Try to fix possible thread-safety issues in SSL wrapper.
........
  r42817 | chris_kohlhoff | 2008-01-17 00:46:01 +1100 (Thu, 17 Jan 2008) | 2 lines
  
  Set the openssl callback function for getting a thread ID.
........
  r43054 | chris_kohlhoff | 2008-02-02 22:37:45 +1100 (Sat, 02 Feb 2008) | 4 lines
  
  Ensure that the workaround for the MSVC secure iterator problem is only
  used when compiling with MSVC. The workaround causes g++'s library debug
  mode to report errors due to the assignment from a singular iterator.
........
  r43055 | chris_kohlhoff | 2008-02-02 22:39:17 +1100 (Sat, 02 Feb 2008) | 2 lines
  
  Fix "possible loss of data" warning when building for Windows 2000 targets.
........
  r43056 | chris_kohlhoff | 2008-02-02 23:02:23 +1100 (Sat, 02 Feb 2008) | 3 lines
  
  The latest Windows SDKs don't support IPv6 when building for Windows 2000,
  so we need to use the SDK emulation in that case.
........
  r43221 | chris_kohlhoff | 2008-02-12 00:59:44 +1100 (Tue, 12 Feb 2008) | 2 lines
  
  Need to define _XOPEN_SOURCE_EXTENDED when compiling for HP-UX.
........
  r43301 | chris_kohlhoff | 2008-02-19 00:31:26 +1100 (Tue, 19 Feb 2008) | 2 lines
  
  Fix printing of error messages.
........
  r43302 | chris_kohlhoff | 2008-02-19 00:33:23 +1100 (Tue, 19 Feb 2008) | 2 lines
  
  Only define _XOPEN_SOURCE_EXTENDED when building with gcc on HP-UX.
........
  r43303 | chris_kohlhoff | 2008-02-19 00:35:15 +1100 (Tue, 19 Feb 2008) | 3 lines
  
  Add missing #include of socket_types.hpp needed for the SSL unit tests
  to compile successfully on Windows.
........
Bump asio version prior to release candidate.
Merge fixes from trunk.

........
  r43377 | chris_kohlhoff | 2008-02-23 09:43:54 +1100 (Sat, 23 Feb 2008) | 2 lines
  
  Use the correct vector of timer queues when dispatching timers.
........
  r43437 | chris_kohlhoff | 2008-02-29 23:57:57 +1100 (Fri, 29 Feb 2008) | 2 lines
  
  Add missing tie().
........
  r43469 | chris_kohlhoff | 2008-03-04 00:21:05 +1100 (Tue, 04 Mar 2008) | 4 lines
  
  Disable use of CancelIo by default, due to the possibility of silent
  failure on some system configurations. Swallow error returned by CancelIoEx
  if there are no operations to be cancelled.
........
  r43470 | chris_kohlhoff | 2008-03-04 00:27:06 +1100 (Tue, 04 Mar 2008) | 2 lines
  
  Add missing 'boost_' prefix to helper namespace.
........
  r43471 | chris_kohlhoff | 2008-03-04 00:36:35 +1100 (Tue, 04 Mar 2008) | 2 lines
  
  Regenerate documentation.
........
  r43472 | chris_kohlhoff | 2008-03-04 01:05:35 +1100 (Tue, 04 Mar 2008) | 1 line
  
  Update copyright notices.
........
  r43473 | chris_kohlhoff | 2008-03-04 01:13:01 +1100 (Tue, 04 Mar 2008) | 2 lines
  
  Update copyright notices.
........
  r43569 | chris_kohlhoff | 2008-03-13 00:25:49 +1100 (Thu, 13 Mar 2008) | 4 lines
  
  Revert to having the windows-bug workaround (short timeout on
  GetQueuedCompletionStatus) on all threads as there are still scenarios
  where threads can get stuck indefinitely.
........
Merged fixes from trunk.

........
  r43570 | chris_kohlhoff | 2008-03-13 00:26:41 +1100 (Thu, 13 Mar 2008) | 3 lines
  
  Use unions to fix a sockaddr_storage aliasing problem that shows up with
  g++ 4.3.0.
........
  r43586 | chris_kohlhoff | 2008-03-13 17:59:02 +1100 (Thu, 13 Mar 2008) | 2 lines
  
  Fix incorrect use of sin_port with a sockaddr_in6 structure.
........
Merged revisions 43879 via svnmerge from 
https://svn.boost.org/svn/boost/trunk

........
  r43879 | chris_kohlhoff | 2008-03-28 01:18:07 +1100 (Fri, 28 Mar 2008) | 3 lines
  
  Fix double-free error that occurs when an exception is thrown from a
  handler that has been dispatched (i.e. not posted) through a strand.
........
Merged from trunk to release branch.

........
  r44662 | chris_kohlhoff | 2008-04-21 11:23:42 +1000 (Mon, 21 Apr 2008) | 3 lines
  
  Add ability to disable the uses of the typeid operator by defining
  BOOST_NO_TYPEID or BOOST_ASIO_NO_TYPEID.
........
  r44663 | chris_kohlhoff | 2008-04-21 11:27:48 +1000 (Mon, 21 Apr 2008) | 3 lines
  
  Ensure that timer dispatching responsibility is correctly relinquished when
  processing leftover interrupts from a previous run invocation.
........
  r44665 | chris_kohlhoff | 2008-04-21 11:36:28 +1000 (Mon, 21 Apr 2008) | 3 lines
  
  Enhance example to make it clear that invocation hooking can be used with
  asynchronous operations.
........
  r44666 | chris_kohlhoff | 2008-04-21 11:39:06 +1000 (Mon, 21 Apr 2008) | 3 lines
  
  Improve efficiency of basic_streambuf::consume() by using a single call to
  gbump() rather than calling sbumpc() in a loop.
........
  r44667 | chris_kohlhoff | 2008-04-21 11:41:29 +1000 (Mon, 21 Apr 2008) | 2 lines
  
  Update version number to match release.
........
  r44668 | chris_kohlhoff | 2008-04-21 11:42:10 +1000 (Mon, 21 Apr 2008) | 2 lines
  
  Fix infinite recursion in the ssl::stream's shutdown() implementation.
........
  r44670 | chris_kohlhoff | 2008-04-21 12:01:34 +1000 (Mon, 21 Apr 2008) | 2 lines
  
  Improve documentation for the protected functions and data in basic_io_object<>.
........
  r44673 | chris_kohlhoff | 2008-04-21 14:02:37 +1000 (Mon, 21 Apr 2008) | 4 lines
  
  Add a special null_buffers type that allows read and write operations to
  be used to indicate the socket's readiness to read or write without
  blocking.
........
  r44674 | chris_kohlhoff | 2008-04-21 14:43:05 +1000 (Mon, 21 Apr 2008) | 2 lines
  
  Add support for UNIX domain sockets.
........
  r44675 | chris_kohlhoff | 2008-04-21 15:16:15 +1000 (Mon, 21 Apr 2008) | 2 lines
  
  Add new wrapper classes for stream-oriented file descriptors on POSIX platforms.
........
  r44676 | chris_kohlhoff | 2008-04-21 15:32:34 +1000 (Mon, 21 Apr 2008) | 2 lines
  
  Add new wrapper classes for stream-oriented handles on Windows.
........
  r44678 | chris_kohlhoff | 2008-04-21 15:43:42 +1000 (Mon, 21 Apr 2008) | 3 lines
  
  Add porthopper example to demonstrate applications that mix synchronous and
  asynchronous operations.
........
  r44679 | chris_kohlhoff | 2008-04-21 15:52:20 +1000 (Mon, 21 Apr 2008) | 3 lines
  
  Remove a local variable that was hiding the ec parameter and preventing
  error codes from being correctly propagated. Fixes #1820.
........
  r44681 | chris_kohlhoff | 2008-04-21 16:14:29 +1000 (Mon, 21 Apr 2008) | 2 lines
  
  Ensure all non-friend related functions are included in the documentation.
........
  r44682 | chris_kohlhoff | 2008-04-21 16:15:17 +1000 (Mon, 21 Apr 2008) | 3 lines
  
  Add UNIX domain sockets, POSIX stream-oriented descriptors and Windows
  stream-oriented handles to the reference documentation.
........
  r44683 | chris_kohlhoff | 2008-04-21 16:15:50 +1000 (Mon, 21 Apr 2008) | 2 lines
  
  Regenerate documentation.
........
  r44684 | chris_kohlhoff | 2008-04-21 16:20:32 +1000 (Mon, 21 Apr 2008) | 3 lines
  
  Add documentation on the limits of the number of buffers that may be
  transferred in individual operations.
........
  r44685 | chris_kohlhoff | 2008-04-21 17:59:21 +1000 (Mon, 21 Apr 2008) | 3 lines
  
  Add requirements for handle and descriptor services. Add new classes to the
  quickref index page.
........
  r44727 | chris_kohlhoff | 2008-04-23 09:46:15 +1000 (Wed, 23 Apr 2008) | 2 lines
  
  Fix or suppress MSVC level 4 warnings. Fixes #1703.
........
  r44848 | chris_kohlhoff | 2008-04-28 23:35:27 +1000 (Mon, 28 Apr 2008) | 2 lines
  
  Update asio version number.
........
  r44849 | chris_kohlhoff | 2008-04-28 23:36:18 +1000 (Mon, 28 Apr 2008) | 2 lines
  
  Add raw socket support.
........
  r44851 | chris_kohlhoff | 2008-04-28 23:56:07 +1000 (Mon, 28 Apr 2008) | 2 lines
  
  Add an experimental two-lock queue implementation for task_io_service.
........
  r44997 | chris_kohlhoff | 2008-05-02 08:00:26 +1000 (Fri, 02 May 2008) | 3 lines
  
  Add a fast path for some speculative read and write operations in the
  epoll_reactor.
........
  r44998 | chris_kohlhoff | 2008-05-02 08:27:21 +1000 (Fri, 02 May 2008) | 3 lines
  
  A memory barrier is needed on some platforms to ensure that all updates
  to the node occur before the tail pointer is updated.
........
  r45006 | chris_kohlhoff | 2008-05-02 17:59:01 +1000 (Fri, 02 May 2008) | 3 lines
  
  Fully qualify uses of asio's placeholders to resolve ambiguity with C++0x's
  placeholders namespace.
........
  r45010 | chris_kohlhoff | 2008-05-02 18:38:15 +1000 (Fri, 02 May 2008) | 3 lines
  
  Don't use the names readv and writev for functions defined inside asio as
  these names seem to be macros on Tru64.
........
  r45059 | chris_kohlhoff | 2008-05-03 21:36:16 +1000 (Sat, 03 May 2008) | 2 lines
  
  Add fast-pathing of speculative reads and writes to the kqueue_reactor.
........
  r45122 | chris_kohlhoff | 2008-05-05 16:30:13 +1000 (Mon, 05 May 2008) | 2 lines
  
  Implement custom memory allocation support for reactor-based asynchronous operations.
........
  r45179 | chris_kohlhoff | 2008-05-07 08:09:47 +1000 (Wed, 07 May 2008) | 2 lines
  
  Use an atomic counter for strand reference counting.
........
  r45292 | chris_kohlhoff | 2008-05-12 18:30:21 +1000 (Mon, 12 May 2008) | 2 lines
  
  Regenerate documentation to include raw socket classes.
........
  r45293 | chris_kohlhoff | 2008-05-12 18:35:56 +1000 (Mon, 12 May 2008) | 2 lines
  
  Don't generate enum value lists for empty enums.
........
  r45355 | chris_kohlhoff | 2008-05-14 22:17:26 +1000 (Wed, 14 May 2008) | 3 lines
  
  Add check for empty heap when determining the minimum wait duration for a
  timer queue.
........
  r45600 | chris_kohlhoff | 2008-05-21 19:25:12 +1000 (Wed, 21 May 2008) | 2 lines
  
  Implement custom allocation support for timer operations.
........
  r45633 | chris_kohlhoff | 2008-05-22 08:56:49 +1000 (Thu, 22 May 2008) | 2 lines
  
  Some Windows platforms don't define IPPROTO_ICMPV6.
........
  r45811 | chris_kohlhoff | 2008-05-27 17:54:12 +1000 (Tue, 27 May 2008) | 3 lines
  
  Fix a crash that can occur when destroying a handler object that owns its
  own memory (as is the case when destroying handlers in an orphaned strand).
........
  r45935 | chris_kohlhoff | 2008-05-30 18:39:19 +1000 (Fri, 30 May 2008) | 5 lines
  
  Fix a deadlock that can occur when destroying a thread object with global
  lifetime in a dynamically loaded DLL on Windows. Note that deadlock can
  still occur if the thread is launched by the constructor of an object with
  global lifetime.
........
  r46003 | chris_kohlhoff | 2008-06-01 11:31:25 +1000 (Sun, 01 Jun 2008) | 4 lines
  
  Add test for the crash that can occur when destroying a handler object that
  owns its own memory (as is the case when destroying handlers in an orphaned
  strand). 
........
  r46272 | chris_kohlhoff | 2008-06-09 22:54:55 +1000 (Mon, 09 Jun 2008) | 2 lines
  
  Add support for serial ports.
........
  r46319 | chris_kohlhoff | 2008-06-11 21:17:53 +1000 (Wed, 11 Jun 2008) | 2 lines
  
  Add random-access handles for use on Windows.
........
  r46325 | chris_kohlhoff | 2008-06-11 22:41:48 +1000 (Wed, 11 Jun 2008) | 2 lines
  
  Remove repeated typedef of reactor_type.
........
  r46327 | chris_kohlhoff | 2008-06-11 23:07:41 +1000 (Wed, 11 Jun 2008) | 2 lines
  
  Only perform check for a 0-byte receive meaning EOF on SOCK_STREAM sockets.
........
  r46415 | chris_kohlhoff | 2008-06-16 10:41:29 +1000 (Mon, 16 Jun 2008) | 2 lines
  
  Add an iterator for bytewise traversal of a buffer sequence.
........
  r46473 | chris_kohlhoff | 2008-06-18 21:22:21 +1000 (Wed, 18 Jun 2008) | 2 lines
  
  Fix write_at declaration. Add missing documentation for offset parameters.
........
  r46475 | chris_kohlhoff | 2008-06-18 23:03:46 +1000 (Wed, 18 Jun 2008) | 3 lines
  
  Add new overloads for read_until and async_read_until that invoke a
  user-defined function object to determine when a match has been found.
........
  r46476 | chris_kohlhoff | 2008-06-18 23:08:21 +1000 (Wed, 18 Jun 2008) | 2 lines
  
  Regenerate documentation.
........
  r46506 | chris_kohlhoff | 2008-06-19 22:41:32 +1000 (Thu, 19 Jun 2008) | 2 lines
  
  Fix for unicode builds.
........
  r46507 | chris_kohlhoff | 2008-06-19 22:50:02 +1000 (Thu, 19 Jun 2008) | 3 lines
  
  Fix serial port support on POSIX platforms that don't provide the BSD
  extensions cfmakeraw, cfsetspeed and CRTSCTS.
........
Merge bug and doc fixes from trunk.

........
  r46535 | chris_kohlhoff | 2008-06-20 10:25:50 +1000 (Fri, 20 Jun 2008) | 2 lines
  
  One more check needed for BSD serial port extensions.
........
  r46766 | chris_kohlhoff | 2008-06-27 15:38:16 +1000 (Fri, 27 Jun 2008) | 2 lines
  
  Add missing copyright notices.
........
  r46876 | chris_kohlhoff | 2008-06-30 10:24:44 +1000 (Mon, 30 Jun 2008) | 2 lines
  
  Some linux configurations do not automatically define _XOPEN_SOURCE.
........
  r46944 | chris_kohlhoff | 2008-07-01 21:52:54 +1000 (Tue, 01 Jul 2008) | 2 lines
  
  Fix documentation on behaviour when a connect operation fails.
........
  r46945 | chris_kohlhoff | 2008-07-01 21:53:54 +1000 (Tue, 01 Jul 2008) | 2 lines
  
  Fix name of parameter as referred to in documentation.
........
  r46946 | chris_kohlhoff | 2008-07-01 21:58:39 +1000 (Tue, 01 Jul 2008) | 2 lines
  
  Fix typos.
........
  r46947 | chris_kohlhoff | 2008-07-01 21:59:25 +1000 (Tue, 01 Jul 2008) | 2 lines
  
  Merge in new reference index page.
........
  r46948 | chris_kohlhoff | 2008-07-01 22:06:49 +1000 (Tue, 01 Jul 2008) | 2 lines
  
  Documentation generation enhancements.
........
  r46949 | chris_kohlhoff | 2008-07-01 22:13:51 +1000 (Tue, 01 Jul 2008) | 2 lines
  
  Improve buffer() documentation. Fix vector overloads to match TR2 proposal.
........
  r46950 | chris_kohlhoff | 2008-07-01 22:14:57 +1000 (Tue, 01 Jul 2008) | 4 lines
  
  Clarify behaviour of read_until/async_read_until with respect to leftover
  data in the streambuf. Use separate brief descriptions for function groups.
  Add some extra notes to the io_service documentation.
........
  r47013 | chris_kohlhoff | 2008-07-03 08:50:50 +1000 (Thu, 03 Jul 2008) | 2 lines
  
  Regenerate documentation.
........
Asio version bump pending release.
Merged bug fixes, doc changes and examples from trunk.

........
  r47217 | chris_kohlhoff | 2008-07-08 22:30:49 +1000 (Tue, 08 Jul 2008) | 3 lines
  
  POSIX platforms are not required to define IOV_MAX, so if it's not
  available default to the stipulated minimum of 16.
........
  r47218 | chris_kohlhoff | 2008-07-08 22:31:48 +1000 (Tue, 08 Jul 2008) | 2 lines
  
  Fix SSL thread ID function to work correctly on 64-bit Windows.
........
  r47248 | chris_kohlhoff | 2008-07-09 07:56:50 +1000 (Wed, 09 Jul 2008) | 2 lines
  
  Add new type requirements.
........
  r47249 | chris_kohlhoff | 2008-07-09 08:54:38 +1000 (Wed, 09 Jul 2008) | 2 lines
  
  Add example showing how to use UNIX domain sockets with connect_pair().
........
  r47261 | chris_kohlhoff | 2008-07-09 22:00:56 +1000 (Wed, 09 Jul 2008) | 2 lines
  
  Add more UNIX domain socket examples.
........
Merged revisions 47503 via svnmerge from 
https://svn.boost.org/svn/boost/trunk

........
  r47503 | chris_kohlhoff | 2008-07-18 01:05:24 +1000 (Fri, 18 Jul 2008) | 2 lines
  
  Documentation updates.
........
Merged revisions 47550 via svnmerge from 
https://svn.boost.org/svn/boost/trunk

........
  r47550 | chris_kohlhoff | 2008-07-18 23:18:56 +1000 (Fri, 18 Jul 2008) | 2 lines
  
  More documentation updates.
........
Merged revisions 47673 via svnmerge from 
https://svn.boost.org/svn/boost/trunk

........
  r47673 | chris_kohlhoff | 2008-07-22 18:26:35 +1000 (Tue, 22 Jul 2008) | 3 lines
  
  Correct an array bounds error in the treatment of paths for UNIX domain sockets.
  Fixes #2120.
........
Merge critical bug fixes from trunk.

........
  r48031 | chris_kohlhoff | 2008-08-09 00:47:58 +1000 (Sat, 09 Aug 2008) | 4 lines
  
  Fix a tight spin on epoll (or /dev/poll) that occurs when the EPOLLERR and
  EPOLLHUP events are reported for a descriptor and there are no pending
  operations.
........
  r48032 | chris_kohlhoff | 2008-08-09 00:48:24 +1000 (Sat, 09 Aug 2008) | 2 lines
  
  Fix memory leak in use_tmp_dh_file().
........
  r48033 | chris_kohlhoff | 2008-08-09 00:49:23 +1000 (Sat, 09 Aug 2008) | 2 lines
  
  QNX defines AI_V4MAPPED, AI_ALL and AI_ADDRCONFIG but does not implement them.
........
  r48039 | chris_kohlhoff | 2008-08-09 11:47:11 +1000 (Sat, 09 Aug 2008) | 2 lines
  
  Include CREAD and CLOCAL in the default flags for serial ports.
........