CbmRoot
Loading...
Searching...
No Matches
vtfeeder.cxx
Go to the documentation of this file.
1/* Copyright (C) 2025 Jagiellonian University, Krakow
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Bartosz Sobol [committer] */
4
5
6#include "VtFeeder.h"
7
8#include "FeederOptions.h"
9#include "log.hpp"
10
11#include <csignal>
12#include <exception>
13
14namespace
15{
16 volatile sig_atomic_t signalStatus = 0;
17}
18
19static void signal_handler(int sig) { signalStatus = sig; }
20
21int main(int argc, char* argv[])
22{
23 std::signal(SIGINT, signal_handler);
24 std::signal(SIGTERM, signal_handler);
25
26 try {
27 const FeederOptions options{argc, argv};
28 VtFeeder app{options, &signalStatus};
29 app.Run();
30 }
31 catch (std::exception const& e) {
32 L_(fatal) << e.what();
33 return EXIT_FAILURE;
34 }
35
36 L_(info) << "[VtFeeder] Exiting";
37 return EXIT_SUCCESS;
38}
#define L_(level)
void Run()
Definition VtFeeder.cxx:68
static void signal_handler(int sig)
int main(int argc, char *argv[])
Definition vtfeeder.cxx:21
static void signal_handler(int sig)
Definition vtfeeder.cxx:19