tree 503194a3d44ab87777d1c5c494f412ea941a8782
parent 08c4b79f9a0cda4d29470d40b4f2c0458d9b08c2
author Willy Tarreau <w@1wt.eu> 1282924608 +0200
committer Willy Tarreau <w@1wt.eu> 1282924840 +0200

[MEDIUM] signals: add support for registering functions and tasks

The two new functions below make it possible to register any number
of functions or tasks to a system signal. They will be called in the
registration order when the signal is received.

    struct sig_handler *signal_register_fct(int sig, void (*fct)(struct sig_handler *), int arg);
    struct sig_handler *signal_register_task(int sig, struct task *task, int reason);
