/******************************************************************************* Local track Model Population thread *******************************************************************************/ void ThreadManager::populateLocalTrackModel() { Debug::debug() << "[ThreadManager] start a new collection populator"; if(m_localTrackPopulator->isRunning()) { cancelThread(POPULATOR_C_THREAD); } m_localTrackPopulator->start(); uint i = StatusManager::instance()->startMessage(tr("Loading music collection")); messageIds.insert("LoadMusic", i); }
/******************************************************************************* Database Scanner Thread *******************************************************************************/ void ThreadManager::databaseBuild(QStringList listDir) { if(m_databaseBuilder->isRunning()) cancelThread(DB_THREAD); Debug::debug() << " ThreadManager start a database builder thread"; m_databaseBuilder->rebuildFolder(listDir); m_databaseBuilder->start(); uint i = StatusWidget::instance()->startProgressMessage(tr("Updating music database") + " (0%)"); messageIds.insert("DbUpdate", i); emit dbBuildStart(); }
/******************************************************************************* Database Scanner Thread *******************************************************************************/ void ThreadManager::databaseBuild(QStringList listDir,bool doRebuild/*=false*/) { if(m_databaseBuilder->isRunning()) cancelThread(DB_THREAD); Debug::debug() << "[ThreadManager] start a database builder thread"; m_databaseBuilder->updateFolder(listDir,doRebuild); m_databaseBuilder->start(); uint i = StatusManager::instance()->startMessage(tr("Updating music database") + " (0%)"); messageIds.insert("DbUpdate", i); emit dbBuildStart(); }
void softPwmStop (int pin) { if (range [pin] != 0) { #ifdef __BRILLO__ cancelThread(&ctrl_pipe[pin][0], &ctrl_pipe[pin][1]); #else pthread_cancel (threads [pin]) ; #endif /* __BRILLO__ */ pthread_join (threads [pin], NULL) ; range [pin] = 0 ; digitalWrite (pin, LOW) ; } }
inline void FThreadPool::moveToIdle(pthread_t tid) { if (isOverflow()) { cancelThread(tid); } else { if (m_idle.count(tid) == 0) { m_busy.erase(tid); m_idle.insert(tid); } } }
void FThreadPool::setMaxSize(size_t maxSize) { pthread_mutex_lock(&m_mutex); m_maxSize = maxSize; if (m_maxSize > 0) { while (m_size > m_maxSize) { if (m_idle.empty()) break; std::set<pthread_t>::iterator it = m_idle.begin(); pthread_t tid = *it; if (cancelThread(tid) != 0) break; } } pthread_mutex_unlock(&m_mutex); }
virtual void doTask(void) { try { //std::cerr<<"doTask(): testing for connection..."<<std::endl; if( !_server.waitForConnection(1500) ) // wait 1.5[s] before fallback return; // so we have connection! :) //std::cerr<<"doTask(): got connection"<<std::endl; Network::Connection conn =_server.accept(); VCCln::RasterDeserializer deserializer( conn.getRXstrm() ); CGraphics::Raster::AutoRaster aRaster =deserializer.deserialize(); CRasterHolder autoCRaster( convert( *aRaster.get() ) ); _swapper.swap( autoCRaster.get() ); autoCRaster.release(); // pointer is secure now! //std::cerr<<"doTask(): got new immage"<<std::endl; } catch(const Network::Exception &ex) { std::cerr<<"DebugReciever::doTask(): Network exception: " <<ex.what()<<std::endl; //cancelThread(); } catch(const VCCln::Exception &ex) { std::cerr<<"DebugReciever::doTask(): VCCln exception: " <<ex.what()<<std::endl; //cancelThread(); } catch(const CGraphics::Exception &ex) { std::cerr<<"DebugReciever::doTask(): CGraphics exception: " <<ex.what()<<std::endl; //cancelThread(); } catch(...) { // exceptions are NOT allowed... std::cerr<<"DebugReciever::doTask(): exception cought..." <<std::endl; cancelThread(); }; };
void activeClose(Connection *conn) { Segment fin; cancelThread(conn->sender); joinThread(conn->sender); fin = createSegment(RUSP_FIN, 0, getWindowNext(&(conn->sndwnd)), 0, NULL); addSgmBuff(&(conn->sndsgmbuff), fin, RUSP_NACK); setConnectionState(conn, RUSP_FINWT1); sendSegment(conn, fin); slideWindowNext(&(conn->sndwnd), 1); DBGPRINT(RUSP_DEBUG, "SND (NXT): base:%u nxt:%u end:%u SNDUSRBUFF:%zu SNDSGMBUFF:%ld", getWindowBase(&(conn->sndwnd)), getWindowNext(&(conn->sndwnd)), getWindowEnd(&(conn->sndwnd)), getStrBuffSize(&(conn->sndusrbuff)), getSgmBuffSize(&(conn->sndsgmbuff))); joinThread(conn->receiver); }
/** * Cancels the current write of fitness data */ void GarminFilebasedDevice::cancelWriteFitnessData() { cancelThread(); }
void GarminFilebasedDevice::cancelWriteToGps() { cancelThread(); }
void Edge305Device::cancelReadFromGps() { if (Log::enabledDbg()) Log::dbg("Canceling thread to read gpx from garmin device: "+this->displayName); cancelThread(); }
void Edge305Device::cancelReadFitnessDetail() { cancelThread(); }
void Edge305Device::cancelReadFitnessData() { cancelThread(); }
HttpServer::~HttpServer() { cancelThread(); joinThread(); }