13#ifndef ROOT_ROOFIT_MultiProcess_ProcessManager
14#define ROOT_ROOFIT_MultiProcess_ProcessManager
24namespace MultiProcess {
Fork processes for queue and workers.
std::vector< pid_t > get_worker_pids()
void initialize_processes(bool cpu_pinning=true)
Fork processes and activate CPU pinning.
std::vector< pid_t > worker_pids_
std::size_t N_workers() const
pid_t get_queue_pid() const
static void handle_sigterm(int signum)
We need this to tell the children to die, because we can't talk to them anymore during JobManager des...
bool is_initialized() const
static bool sigterm_received()
void wait_for_sigterm_then_exit()
void identify_processes() const
Print to stdout which type of process we are on and what its PID is (for debugging)
void terminate() noexcept
Shutdown forked processes if on master and if this process manager is initialized.
void shutdown_processes()
Shutdown forked processes if on master.
static volatile sig_atomic_t sigterm_received_
std::size_t worker_id() const
The namespace RooFit contains mostly switches that change the behaviour of functions of PDFs (or othe...