diff options
Diffstat (limited to 'src/threadinterrupt.h')
-rw-r--r-- | src/threadinterrupt.h | 36 |
1 files changed, 0 insertions, 36 deletions
diff --git a/src/threadinterrupt.h b/src/threadinterrupt.h deleted file mode 100644 index 979bc2ee3e..0000000000 --- a/src/threadinterrupt.h +++ /dev/null @@ -1,36 +0,0 @@ -// Copyright (c) 2016-2021 The Bitcoin Core developers -// Distributed under the MIT software license, see the accompanying -// file COPYING or http://www.opensource.org/licenses/mit-license.php. - -#ifndef BITCOIN_THREADINTERRUPT_H -#define BITCOIN_THREADINTERRUPT_H - -#include <sync.h> -#include <threadsafety.h> - -#include <atomic> -#include <chrono> -#include <condition_variable> - -/* - A helper class for interruptible sleeps. Calling operator() will interrupt - any current sleep, and after that point operator bool() will return true - until reset. -*/ -class CThreadInterrupt -{ -public: - using Clock = std::chrono::steady_clock; - CThreadInterrupt(); - explicit operator bool() const; - void operator()() EXCLUSIVE_LOCKS_REQUIRED(!mut); - void reset(); - bool sleep_for(Clock::duration rel_time) EXCLUSIVE_LOCKS_REQUIRED(!mut); - -private: - std::condition_variable cond; - Mutex mut; - std::atomic<bool> flag; -}; - -#endif // BITCOIN_THREADINTERRUPT_H |