void TriggerCommand() { assert(mutex.IsLockedByCurrent()); #ifdef HAVE_POSIX cond.Signal(); #else command_trigger.Signal(); #endif }
void TriggerDone() { assert(mutex.IsLockedByCurrent()); #ifdef HAVE_POSIX cond.Signal(); #else done_trigger.Signal(); #endif }
void TriggerDone() { assert(mutex.IsLockedByCurrent()); cond.signal(); }
void TriggerCommand() { assert(mutex.IsLockedByCurrent()); cond.signal(); }
/** * Stop the thread synchronously. * * Caller must lock the mutex. */ void Stop() { assert(mutex.IsLockedByCurrent()); StopAsync(); WaitStopped(); }
/** * Was the thread asked to stop? The Tick() implementation should * use this to check whether to cancel the operation. * * Caller must lock the mutex. */ gcc_pure bool IsStopped() const { assert(mutex.IsLockedByCurrent()); return stop; }
/** * Is the thread currently working (i.e. inside Tick())? * * Caller must lock the mutex. */ gcc_pure bool IsBusy() const { assert(mutex.IsLockedByCurrent()); return pending || busy; }
const_iterator end() const { assert(mutex.IsLockedByCurrent()); return const_iterator(nullptr); }
const_iterator begin() const { assert(mutex.IsLockedByCurrent()); return const_iterator(first); }
const Serial &GetSerial() const { assert(mutex.IsLockedByCurrent()); return serial; }