1 #ifndef DINIT_H_INCLUDED
2 #define DINIT_H_INCLUDED 1
8 using clock_type = dasynq::clock_type;
9 using rearm = dasynq::rearm;
10 using time_val = dasynq::time_val;
13 extern pid_t last_forked_pid;
19 void get_time(time_val &tv, dasynq::clock_type clock) noexcept
24 class child_proc_watcher
27 pid_t fork(eventloop_t &loop, bool reserved_child_watcher, int priority = dasynq::DEFAULT_PRIORITY)
29 bp_sys::last_forked_pid++;
30 return bp_sys::last_forked_pid;
33 void add_reserved(eventloop_t &eloop, pid_t child, int prio = dasynq::DEFAULT_PRIORITY) noexcept
38 void stop_watch(eventloop_t &eloop) noexcept
43 void deregister(eventloop_t &loop, pid_t pid) noexcept
49 template <typename Derived> class child_proc_watcher_impl : public child_proc_watcher
59 void add_watch(eventloop_t &loop, int fd, int events, bool enable = true)
64 int get_watched_fd() noexcept
69 void set_enabled(eventloop_t &loop, bool enable) noexcept
74 void deregister(eventloop_t &loop) noexcept
80 template <typename Derived> class fd_watcher_impl : public fd_watcher
88 void add_timer(eventloop_t &loop)
93 void arm_timer_rel(eventloop_t &loop, time_val timeout) noexcept
98 void stop_timer(eventloop_t &loop) noexcept
104 template <typename Derived> class timer_impl : public timer
110 inline void open_control_socket(bool report_ro_failure = true) noexcept
114 inline void setup_external_log() noexcept
118 extern eventloop_t event_loop;