void push_data(boost::coroutines::coroutine<std::string>::push_type& sink) { sink("test1"); t = std::thread(push_data2, std::move(sink)); }