void AsioServerTransport::close() { mAcceptorPtr.reset(); mStopFlag = true; cancelOutstandingIo(); mpIoService->reset(); std::size_t items = mpIoService->poll(); while (items) { mpIoService->reset(); items = mpIoService->poll(); } mpIoService = NULL; mpServer = NULL; }
void AsioServerTransport::close() { RCF2_TRACE(""); mAcceptorPtr.reset(); mCycleTimerPtr.reset(); mStopFlag = true; cancelOutstandingIo(); mDemuxerPtr->reset(); std::size_t items = mDemuxerPtr->run(); while (items) { mDemuxerPtr->reset(); items = mDemuxerPtr->run(); } mDemuxerPtr.reset(); }