Ground-Zerro / HydraRoute Public
Code Issues Pull requests Actions Releases View on GitHub ↗
517 B c
#ifndef SIGNAL_HANDLER_H
#define SIGNAL_HANDLER_H

/* Bundled signalfd + debounce-timer manager. Owns the two fds used by the
 * main epoll loop: sig_fd (SIGINT/SIGTERM/SIGUSR1 via signalfd) and timer_fd
 * (CLOCK_MONOTONIC timerfd that debounces SIGUSR1). */
typedef struct {
    int sig_fd;
    int timer_fd;
} signal_mgr_t;

int  signal_mgr_init(signal_mgr_t *m);
void signal_mgr_close(signal_mgr_t *m);
void signal_mgr_arm_timer(signal_mgr_t *m, int seconds);
int  signal_mgr_read_timer(signal_mgr_t *m);

#endif