Помогает опубликовать код.Когда я использую это изменение в примере asio:
void connection::handle_read(const boost::system::error_code& e,
std::size_t bytes_transferred)
{
std::cerr << "connection::handle_read()\n";
boost::this_thread::sleep(boost::posix_time::seconds(10));
std::cerr << "connection::handle_read() done sleep\n";
if (!e)
{
, оно работает как положено, то есть
$ ./test 0.0.0.0 7777 5 .
connection::handle_read()
connection::handle_read()
connection::handle_read() done sleep
connection::handle_read() done sleep
Как вы "спите в течение 30 секунд"?Возможно, функция сна, которую вы использовали, приостанавливает все потоки в процессе?