GCC Code Coverage Report


Directory: src/
File: src/utils/signal_wait/signal_wait.cpp
Date: 2026-03-27 13:31:42
Exec Total Coverage
Lines: 0 14 0.0%
Branches: 0 8 0.0%

Line Branch Exec Source
1 #include <cstdlib>
2 #include <cstring>
3 #include "signal_wait.h"
4
5 volatile sig_atomic_t signum = 0;
6
7 void set_signum(int sig)
8 {
9 if(signum == SIGABRT) {
10 abort();
11 }
12 signum = sig;
13 }
14
15 void signal_wait::wait_for_signal()
16 {
17 while(!signum) {
18 }
19 if(signum == SIGABRT) {
20 abort();
21 }
22 }
23
24 void signal_wait::setup_signals(const std::vector<int> &signals)
25 {
26 struct sigaction action{};
27 memset(&action, 0, sizeof(struct sigaction));
28 action.sa_handler = set_signum;
29
30 for(int signal : signals) {
31 sigaction(signal, &action, NULL);
32 }
33 }
34