Boost logo

Boost :

Subject: [boost] Boost Asio in Windows
From: Kenny Stone (kstone_at_[hidden])
Date: 2009-05-09 11:36:30

I'm trying to use asio in linux and windows, and I have to use a very
specific way of starting my IO Service to get it to work in windows xp:

void start()
      tcp::endpoint endpoint = *iterator_;
          boost::bind(&MessageHandler::handle_connect, this,
          boost::asio::placeholders::error, ++iterator_ ) );
      boost::thread t( boost::bind( &boost::asio::io_service::run,
&(socket_.get_io_service() )));
      //threadPool_.schedule(boost::bind( &boost::asio::io_service::run,
&(socket_.get_io_service()) ) );

The commented out line is what I wanted to use (threadpool), as thread
detach is far from an ideal situation. To work in windows, I have to call in this function and thread detach; it doesn't seem to
work any other way. Everything pretty much works in linux. Is there a
pattern that I should be using here for cross platform usage of the
library? Any ideas why the threadpool solution doesn't work in windows? (


Kenny Stone
Connamara Systems, LLC

Boost list run by bdawes at, gregod at, cpdaniel at, john at