issues when using boost.bind from boost.thread
Hi: I'm trying to use boost.bind when starting a thread. The following code starts a thread and tries to pass in a boost.asio.io_service as well. boost::thread* t = new boost::thread(boost::bind(&boost::asio::io_service::run, &io)); I'm getting the following exception when running this code. Unhandled exception at 0x7c812afb in MDRLite.exe: Microsoft C++ exception: boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::system::system_error> > Removing the previous block of code removes the error. Having read the boost.bind, The boost.tread/boost.asio documentation I carn't seem to find what is wrong. This seems to be the final piece of the jigsaw that I carn't seem to crack! Any help appreciated. Cheers Sean.
boost::thread* t = new boost::thread(boost::bind(&boost::asio::io_service::run, &io));
I’m getting the following exception when running this code.
Unhandled exception at 0x7c812afb in MDRLite.exe: Microsoft C++ exception: boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::system::system_error>
The above line of code itself is correct, but it starts a thread, which dispatches asio handlers. So probably you try to do something bad inside on of the handlers. Besides, it's important to ensure that "io" object outlives the thread. Use exception object member functions to see what it's about.
participants (2)
-
Igor R
-
Sean Farrow