diff options
author | Chris Hall <chris.hall@highwayman.com> | 2011-03-21 01:16:05 +0000 |
---|---|---|
committer | Chris Hall <chris.hall@highwayman.com> | 2011-03-21 01:16:05 +0000 |
commit | 9470cb2c32eab220f796b1438b787528272cbe84 (patch) | |
tree | b9b2cc12446173436d2bc7a32e82cc3378ec721e /lib/sigevent.h | |
parent | 5cae7eea451f2b7d65b5892e2c1dafc70f8b836e (diff) | |
download | quagga-ex11p.tar.bz2 quagga-ex11p.tar.xz |
Upgrade of "pipework" -- including piping to/from shell commandsex11p
Version 0.99.15ex11p
A major overhaul.
Diffstat (limited to 'lib/sigevent.h')
-rw-r--r-- | lib/sigevent.h | 34 |
1 files changed, 18 insertions, 16 deletions
diff --git a/lib/sigevent.h b/lib/sigevent.h index 57486bc2..bc4ef945 100644 --- a/lib/sigevent.h +++ b/lib/sigevent.h @@ -25,32 +25,34 @@ #define _QUAGGA_SIGNAL_H #include <thread.h> +#include <signal.h> #define QUAGGA_SIGNAL_TIMER_INTERVAL 2L #define Q_SIGC(sig) (sizeof(sig)/sizeof(sig[0])) +typedef void qsig_event(void) ; + struct quagga_signal_t { - int signal; /* signal number */ - void (*handler) (void); /* handler to call */ - - volatile sig_atomic_t caught; /* private member */ -}; - -/* initialise sigevent system - * takes: - * - pointer to valid struct thread_master - * - number of elements in passed in signals array - * - array of quagga_signal_t's describing signals to handle - * and handlers to use for each signal - */ + int signal ; /* signal number */ + qsig_event* handler ; /* event function */ +} ; + extern void signal_init (struct thread_master *m, int sigc, - struct quagga_signal_t *signals); + struct quagga_signal_t *signals); -/* check whether there are signals to handle, process any found */ extern int quagga_sigevent_process (void); -/* turn off trap for SIGABRT ! */ +extern const sigset_t* signal_get_hard_set(void) ; extern void quagga_sigabrt_no_trap(void) ; +extern void quagga_signal_reset(void) ; + +extern void sigmakeset(sigset_t* set, ...) ; +extern void sigcopyset(sigset_t* dst, const sigset_t* src) ; +extern void sigaddsets(sigset_t* a, const sigset_t* b) ; +extern void sigsubsets(sigset_t* a, const sigset_t* b) ; +extern void siginvset(sigset_t* a, const sigset_t* b) ; +extern int sigincommon(const sigset_t* a, const sigset_t* b) ; +extern int sighasmember(const sigset_t* a) ; #endif /* _QUAGGA_SIGNAL_H */ |