rlib
Convenience library for useful things
Loading...
Searching...
No Matches
Signal timers

SIGALRM-driven timers that invoke a callback once or on a recurring interval. More...

Typedefs

typedef void(* RSignalFunc) (int sig)
 Signal-handler callback; receives the delivered signal number.
 
typedef struct RSigAlrmTimer RSigAlrmTimer
 Opaque SIGALRM timer handle.
 

Functions

RSigAlrmTimer * r_sig_alrm_timer_new_oneshot (RClockTime timeout, RSignalFunc func)
 Arm a one-shot timer firing once after timeout.
 
RSigAlrmTimer * r_sig_alrm_timer_new_interval (RClockTime interval, RSignalFunc func)
 Arm a recurring timer firing every interval.
 
RSigAlrmTimer * r_sig_alrm_timer_new_interval_delayed (RClockTime timeout, RClockTime interval, RSignalFunc func)
 Arm a recurring timer with an initial delay.
 
void r_sig_alrm_timer_cancel (RSigAlrmTimer *timer)
 Disarm and free timer (frees via r_sig_alrm_timer_delete).
 
void r_sig_alrm_timer_delete (RSigAlrmTimer *timer)
 Free timer, restoring the previous SIGALRM handler.
 

Detailed Description

SIGALRM-driven timers that invoke a callback once or on a recurring interval.

Each timer arms the process SIGALRM and calls the supplied RSignalFunc from signal context, so the callback must be async-signal-safe.

Function Documentation

◆ r_sig_alrm_timer_new_interval_delayed()

RSigAlrmTimer * r_sig_alrm_timer_new_interval_delayed ( RClockTime  timeout,
RClockTime  interval,
RSignalFunc  func 
)

Arm a recurring timer with an initial delay.

Parameters
timeoutDelay before the first fire.
intervalPeriod between subsequent fires.
funcCallback invoked on each fire.