31namespace MultiProcess {
51 bool dequeue_acknowledged =
true;
54 std::size_t mw_sub_index;
64 if (dequeue_acknowledged) {
66 dequeue_acknowledged =
false;
70 auto poll_result = poller.
poll(-1);
77 bool skip_sub =
false;
79 for (
auto readable_index : poll_result) {
81 if (readable_index == mw_sub_index) {
88 switch (message_q2w) {
90 dequeue_acknowledged =
true;
94 dequeue_acknowledged =
true;
102 auto job_id_for_state =
static bool getTimingAnalysis()
Messenger & messenger() const
static JobManager * instance()
static Job * get_job_object(std::size_t job_object_id)
std::size_t get_state_id()
Get the current state identifier.
virtual void send_back_task_result_from_worker(std::size_t task)=0
virtual void update_state()
Virtual function to update any necessary state on workers.
virtual void evaluate_task(std::size_t task)=0
value_t receive_from_master_on_worker(bool *more=nullptr)
std::pair< Poller, std::size_t > create_worker_poller()
Helper function that creates a poller for worker_loop()
value_t receive_from_queue_on_worker()
void send_from_worker_to_queue()
Waits for input on a set of registered Channels.
std::vector< std::size_t > poll(int timeout_ms=-1) const
Wait for input; returns the registration indices of readable channels.
static bool sigterm_received()
static void start_timer(std::string section_name)
static void end_timer(std::string section_name)
Thrown when a blocking wait on a Channel is interrupted, e.g.
void worker_loop()
The worker processes' event loop.
bool is_worker_loop_running()
static bool worker_loop_running
The namespace RooFit contains mostly switches that change the behaviour of functions of PDFs (or othe...