void CPNGSaveThread::Execute() { // Save without feedback. There's no way to post e.g. a log message to the main thread at the moment. // But if saving fails, there's just a missing screenshot, which shouldn't be a big deal. png->Save(filename.getData()); SignalStop(); }
bool BaseOutStream::Stop() { if (_pInStream != NULL) { if (!_pInStream->SignalStop()) { FATAL("Unable to signal stop"); return false; } } return SignalStop(); }
void C4PortraitSelDlg::LoaderThread::Execute() { // list empty? if (!LoadItems.size()) { // then we're done! SignalStop(); return; } // load one item at the time ListItem *pLoadItem = LoadItems.front(); pLoadItem->Load(); LoadItems.erase(LoadItems.begin()); }
bool BaseInStream::Stop() { if (!SignalStop()) { FATAL("Unable to signal stop"); return false; } LinkedListNode<BaseOutStream *> *pTemp = _pOutStreams; while (pTemp != NULL) { if (!pTemp->info->SignalStop()) { WARN("Unable to signal stop on an outbound stream"); } pTemp = pTemp->pPrev; } return true; }
bool BaseInStream::Stop() { if (!SignalStop()) { FATAL("Unable to signal stop"); return false; } LinkedListNode<BaseOutStream *> *pIterator = _pOutStreams; LinkedListNode<BaseOutStream *> *pCurrent = NULL; while (pIterator != NULL) { pCurrent = pIterator; pIterator = pIterator->pPrev; if (!pCurrent->info->SignalStop()) { WARN("Unable to signal stop on an outbound stream"); } } return true; }