30namespace MultiProcess {
 
   50   bool dequeue_acknowledged = 
true;
 
   53   std::size_t mw_sub_index;
 
   61   sigemptyset(&sigmask);
 
   62   sigaddset(&sigmask, SIGTERM);
 
   71         if (dequeue_acknowledged) { 
 
   73            dequeue_acknowledged = 
false;
 
   84         bool skip_sub = 
false;
 
   86         for (
auto readable_socket : poll_result) {
 
   88            if (readable_socket.first == mw_sub_index) {
 
   95               switch (message_q2w) {
 
   97                  dequeue_acknowledged = 
true;
 
  101                  dequeue_acknowledged = 
true;
 
  109                     auto job_id_for_state =
 
  128         } 
catch (std::logic_error &) {
 
  129            printf(
"worker loop at PID %d got unhandleable ZMQ::ppoll_error_t\n", getpid());
 
  135            printf(
"EINTR in worker loop at PID %d but no SIGTERM received, continuing\n", getpid());
 
  138            printf(
"EAGAIN from ppoll in worker loop at PID %d, continuing\n", getpid());
 
  141      } 
catch (zmq::error_t &
e) {
 
  142         printf(
"unhandled zmq::error_t (not a ppoll_error_t) in worker loop at PID %d with errno %d: %s\n", getpid(),
 
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)
 
value_t receive_from_queue_on_worker()
 
std::pair< ZeroMQPoller, std::size_t > create_worker_poller()
Helper function that creates a poller for worker_loop()
 
void send_from_worker_to_queue()
 
static bool sigterm_received()
 
static void start_timer(std::string section_name)
 
static void end_timer(std::string section_name)
 
Wrapper class for polling ZeroMQ sockets.
 
std::vector< std::pair< size_t, zmq::event_flags > > ppoll(int timeo, const sigset_t *sigmask)
Poll the sockets with ppoll.
 
void worker_loop()
The worker processes' event loop.
 
bool is_worker_loop_running()
 
zmq_ppoll_error_response handle_zmq_ppoll_error(ZMQ::ppoll_error_t &e)
 
static bool worker_loop_running
 
The namespace RooFit contains mostly switches that change the behaviour of functions of PDFs (or othe...