diff -Nru boost1.54-1.54.0/debian/changelog boost1.54-1.54.0/debian/changelog --- boost1.54-1.54.0/debian/changelog 2013-12-28 01:48:30.000000000 +0000 +++ boost1.54-1.54.0/debian/changelog 2014-06-19 18:31:53.000000000 +0000 @@ -1,3 +1,10 @@ +boost1.54 (1.54.0-4ubuntu4~osrf1) trusty; urgency=medium + + * Import asio patch. See bug : + https://bugs.launchpad.net/ubuntu/+source/boost-defaults/+bug/1319338 + + -- Jose Luis Rivero Thu, 19 Jun 2014 18:30:58 +0000 + boost1.54 (1.54.0-4ubuntu3) trusty; urgency=medium * No change rebuild against libicu52 diff -Nru boost1.54-1.54.0/debian/patches/asio_regression_8795.patch boost1.54-1.54.0/debian/patches/asio_regression_8795.patch --- boost1.54-1.54.0/debian/patches/asio_regression_8795.patch 1970-01-01 00:00:00.000000000 +0000 +++ boost1.54-1.54.0/debian/patches/asio_regression_8795.patch 2014-06-19 18:26:42.000000000 +0000 @@ -0,0 +1,47 @@ +Description: Fix a regression where, on some platforms, errors from async_connect are not correctly propagated through to the completion handler. +Author: Jose Luis Rivero +Forwarded: https://svn.boost.org/trac/boost/ticket/8795 +Applied-Upstream: https://svn.boost.org/trac/boost/changeset/85738#file0 + +Index: boost1.54-1.54.0/boost/asio/detail/impl/socket_ops.ipp +=================================================================== +--- boost1.54-1.54.0/boost/asio/detail/impl/socket_ops.ipp ++++ boost1.54-1.54.0/boost/asio/detail/impl/socket_ops.ipp +@@ -510,11 +510,34 @@ + + bool non_blocking_connect(socket_type s, +- const socket_addr_type* addr, std::size_t addrlen, ++ const socket_addr_type*, std::size_t, + boost::system::error_code& ec) + { + // Check if the connect operation has finished. This is required since we may + // get spurious readiness notifications from the reactor. +- socket_ops::connect(s, addr, addrlen, ec); +- if (ec == boost::asio::error::already_started) ++#if defined(BOOST_ASIO_WINDOWS) \ ++ || defined(__CYGWIN__) \ ++ || defined(__SYMBIAN32__) ++ fd_set write_fds; ++ FD_ZERO(&write_fds); ++ FD_SET(s, &write_fds); ++ fd_set except_fds; ++ FD_ZERO(&except_fds); ++ FD_SET(s, &except_fds); ++ timeval zero_timeout; ++ zero_timeout.tv_sec = 0; ++ zero_timeout.tv_usec = 0; ++ int ready = ::select(s + 1, 0, &write_fds, &except_fds, &zero_timeout); ++#else // defined(BOOST_ASIO_WINDOWS) ++ // || defined(__CYGWIN__) ++ // || defined(__SYMBIAN32__) ++ pollfd fds; ++ fds.fd = s; ++ fds.events = POLLOUT; ++ fds.revents = 0; ++ int ready = ::poll(&fds, 1, 0); ++#endif // defined(BOOST_ASIO_WINDOWS) ++ // || defined(__CYGWIN__) ++ // || defined(__SYMBIAN32__) ++ if (ready == 0) + { + // The asynchronous connect operation is still in progress. diff -Nru boost1.54-1.54.0/debian/patches/series boost1.54-1.54.0/debian/patches/series --- boost1.54-1.54.0/debian/patches/series 2013-12-18 12:17:35.000000000 +0000 +++ boost1.54-1.54.0/debian/patches/series 2014-06-19 18:22:31.000000000 +0000 @@ -13,3 +13,4 @@ ELFv2-libboost1.54-dev-context-asm.patch hppa-long-double-config.patch eglibc-long-long.patch +asio_regression_8795.patch