/* * Copyright (c) 2010 Isode Limited. * All rights reserved. * See the COPYING file for more information. */ #include #include namespace Swift { BoostIOServiceThread::BoostIOServiceThread() { ioService_ = boost::make_shared(); thread_ = new boost::thread(boost::bind(&BoostIOServiceThread::doRun, this)); } BoostIOServiceThread::~BoostIOServiceThread() { ioService_->stop(); thread_->join(); delete thread_; } void BoostIOServiceThread::doRun() { boost::asio::io_service::work work(*ioService_); ioService_->run(); } }