Fix build for systems without SIGRTMIN/SIGRTMAX

This commit is contained in:
Volker Schlecht
2026-04-17 19:31:59 +02:00
committed by GitHub
parent 0241d0eac6
commit bd39795f80
+4
View File
@@ -55,9 +55,11 @@ static void catchSignals(waybar::SafeSignal<int>& signal_handler) {
std::signal(SIGINT, writeSignalToPipe); std::signal(SIGINT, writeSignalToPipe);
std::signal(SIGCHLD, writeSignalToPipe); std::signal(SIGCHLD, writeSignalToPipe);
#ifdef SIGRTMIN
for (int sig = SIGRTMIN + 1; sig <= SIGRTMAX; ++sig) { for (int sig = SIGRTMIN + 1; sig <= SIGRTMAX; ++sig) {
std::signal(sig, writeSignalToPipe); std::signal(sig, writeSignalToPipe);
} }
#endif
while (true) { while (true) {
int signum; int signum;
@@ -119,12 +121,14 @@ void handleUserSignal(int signal, bool& reload) {
// If this signal should restart or close the bar, this function will write // If this signal should restart or close the bar, this function will write
// `true` or `false`, respectively, into `reload`. // `true` or `false`, respectively, into `reload`.
static void handleSignalMainThread(int signum, bool& reload) { static void handleSignalMainThread(int signum, bool& reload) {
#ifdef SIGRTMIN
if (signum >= SIGRTMIN + 1 && signum <= SIGRTMAX) { if (signum >= SIGRTMIN + 1 && signum <= SIGRTMAX) {
for (auto& bar : waybar::Client::inst()->bars) { for (auto& bar : waybar::Client::inst()->bars) {
bar->handleSignal(signum); bar->handleSignal(signum);
} }
return; return;
} }
#endif
switch (signum) { switch (signum) {
case SIGUSR1: case SIGUSR1: