Mike Feldmeier wrote:
void run_worker(worker& w, data& d)
{
boost::thread(boost::bind(&worker::run, &my_worker,
_1)(boost:ref(my_data)));
}
Change to
void run_worker(worker& w, data& d)
{
boost::thread(
boost::bind(&worker::run, &w, boost:ref(d))
);
}