aboutsummaryrefslogtreecommitdiff
path: root/src/scheduler.h
diff options
context:
space:
mode:
authorMacroFake <falke.marco@gmail.com>2022-04-30 09:19:28 +0200
committerMacroFake <falke.marco@gmail.com>2022-04-30 09:17:17 +0200
commitfa4652ce5995ace831b6a4d3125bfcac9563ff6f (patch)
treee2720b4bad6828fa3f010320fe76695fea39159f /src/scheduler.h
parent26296eba3dc34043b025bda167386c47693705b5 (diff)
downloadbitcoin-fa4652ce5995ace831b6a4d3125bfcac9563ff6f.tar.xz
Pass lifetimebound reference to SingleThreadedSchedulerClient
Diffstat (limited to 'src/scheduler.h')
-rw-r--r--src/scheduler.h13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/scheduler.h b/src/scheduler.h
index bb0abfbf7a..eb350e4bc3 100644
--- a/src/scheduler.h
+++ b/src/scheduler.h
@@ -5,13 +5,18 @@
#ifndef BITCOIN_SCHEDULER_H
#define BITCOIN_SCHEDULER_H
+#include <attributes.h>
+#include <sync.h>
+#include <threadsafety.h>
+
+#include <chrono>
#include <condition_variable>
+#include <cstddef>
#include <functional>
#include <list>
#include <map>
#include <thread>
-
-#include <sync.h>
+#include <utility>
/**
* Simple class for background tasks that should be run
@@ -117,7 +122,7 @@ private:
class SingleThreadedSchedulerClient
{
private:
- CScheduler* m_pscheduler;
+ CScheduler& m_scheduler;
Mutex m_callbacks_mutex;
std::list<std::function<void()>> m_callbacks_pending GUARDED_BY(m_callbacks_mutex);
@@ -127,7 +132,7 @@ private:
void ProcessQueue();
public:
- explicit SingleThreadedSchedulerClient(CScheduler* pschedulerIn) : m_pscheduler(pschedulerIn) {}
+ explicit SingleThreadedSchedulerClient(CScheduler& scheduler LIFETIMEBOUND) : m_scheduler{scheduler} {}
/**
* Add a callback to be executed. Callbacks are executed serially