29 IssueCatcherAlreadySet,
30 "Local error catcher has been already set",
37 template <
class >
class SingletonCreator;
39 class IssueCatcherHandler;
49 friend class IssueCatcherHandler;
50 template <
class >
friend class SingletonCreator;
55 static LocalStream & instance();
58 IssueCatcherHandler * set_issue_catcher(
59 const std::function<
void (
const ers::Issue & )> & catcher );
71 void remove_issue_catcher();
75 void thread_wrapper();
78 std::function<void (
const ers::Issue & )> m_issue_catcher;
79 std::unique_ptr<std::thread> m_issue_catcher_thread;
81 std::condition_variable m_condition;
83 std::queue<ers::Issue *> m_issues;
84 std::thread::id m_catcher_thread_id;