*
*/
/*
- Copyright (C) 2002 Kern Sibbald and John Walker
+ Copyright (C) 2002-2004 Kern Sibbald and John Walker
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
*/
-typedef struct s_btimer_t {
- struct s_btimer_t *next;
- struct s_btimer_t *prev;
- time_t start_time;
- int32_t wait;
- pid_t pid;
- int killed;
-} btimer_t;
+enum {
+ TYPE_CHILD = 1,
+ TYPE_PTHREAD,
+ TYPE_BSOCK
+};
-#define btimer_id btimer_t *
+#define TIMEOUT_SIGNAL SIGUSR2
+
+struct s_watchdog_t {
+ bool one_shot;
+ time_t interval;
+ void (*callback)(struct s_watchdog_t *wd);
+ void (*destructor)(struct s_watchdog_t *wd);
+ void *data;
+ /* Private data below - don't touch outside of watchdog.c */
+ dlink link;
+ time_t next_fire;
+};
+typedef struct s_watchdog_t watchdog_t;