diff options
| author | Carl Hetherington <cth@carlh.net> | 2025-06-12 00:27:33 +0200 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2025-06-14 23:43:13 +0200 |
| commit | a12a943c99ba4aba122f91c93b078d2e87146b32 (patch) | |
| tree | 93e149bc2d6f9c2ff98aa05c5d51e096dd0c6598 /src/lib/job_manager.h | |
| parent | 6d2d4973ccd5d4c78414d28988a74dfa7287f001 (diff) | |
Use a new UISignal which checks thread safety slightly.3052-hang
This adds a wrapper around signals2::signal which checks that emission
happens from the GUI thread, for signals whose handlers must be called
in the UI thread. I'm not sure how helpful it really is but maybe it
catches some bad situations.
Diffstat (limited to 'src/lib/job_manager.h')
| -rw-r--r-- | src/lib/job_manager.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/lib/job_manager.h b/src/lib/job_manager.h index 248639782..f7981df41 100644 --- a/src/lib/job_manager.h +++ b/src/lib/job_manager.h @@ -25,6 +25,7 @@ #include "job.h" +#include "signal.h" #include "signaller.h" #include <boost/thread/mutex.hpp> #include <boost/thread.hpp> @@ -86,9 +87,9 @@ public: void cancel_all_jobs(); - boost::signals2::signal<void (std::weak_ptr<Job>)> JobAdded; - boost::signals2::signal<void ()> JobsReordered; - boost::signals2::signal<void (boost::optional<std::string>, boost::optional<std::string>)> ActiveJobsChanged; + UISignal<void (std::weak_ptr<Job>)> JobAdded; + UISignal<void ()> JobsReordered; + UISignal<void (boost::optional<std::string>, boost::optional<std::string>)> ActiveJobsChanged; static JobManager* instance(); static void drop(); |
