From dce80974dcd2114ebb4a3ed3060d4d636cbb9d1d Mon Sep 17 00:00:00 2001 From: Vadim Kochan Date: Mon, 20 Apr 2015 12:43:08 +0300 Subject: netsniff-ng: Delete rfmon mac80211 device in case of panic netsniff-ng does not delete created rfmon device in case of panic (for example - bad pcap filter expression), so added ability to add callback func when panic will be happen and delete rfmon device. Signed-off-by: Vadim Kochan Signed-off-by: Tobias Klauser --- die.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'die.h') diff --git a/die.h b/die.h index 919f3ae..0d709d0 100644 --- a/die.h +++ b/die.h @@ -12,6 +12,9 @@ #include "built_in.h" +extern void panic_func_add(void (*on_panic)(void *arg), void *arg); +extern void call_on_panic_funcs(void); + static inline void panic(const char *format, ...) __check_format_printf(1, 2); static inline void syslog_panic(const char *format, ...) __check_format_printf(1, 2); @@ -20,11 +23,13 @@ static inline void syslog_maybe(bool cond, int priority, static inline void __noreturn __die_hard(void) { + call_on_panic_funcs(); exit(EXIT_FAILURE); } static inline void __noreturn __die_harder(void) { + call_on_panic_funcs(); _exit(EXIT_FAILURE); } -- cgit v1.2.3-54-g00ecf