]> git.meshlink.io Git - meshlink/blobdiff - src/event.c
Fix compiler warning
[meshlink] / src / event.c
index 85ea9bb8c776b4cf319534b2761adcc23add84e2..aa451801ea64742b5494785a1f378cee989a73e6 100644 (file)
@@ -26,8 +26,6 @@
 #include "utils.h"
 #include "xalloc.h"
 
-event_loop_t *loop;
-
 static int io_compare(const io_t *a, const io_t *b) {
        return a->fd - b->fd;
 }
@@ -138,6 +136,14 @@ static void pipe_init(event_loop_t *loop) {
                io_add(loop, &loop->signalio, signalio_handler, NULL, loop->pipefd[0], IO_READ);
 }
 
+void signal_trigger(event_loop_t *loop, signal_t *sig) {
+
+       uint8_t signum = sig->signum;
+       write(loop->pipefd[1], &signum, 1);
+       return;
+
+}
+
 void signal_add(event_loop_t *loop, signal_t *sig, signal_cb_t cb, void *data, uint8_t signum) {
        if(sig->cb)
                return;
@@ -240,9 +246,9 @@ void event_loop_init(event_loop_t *loop) {
 
 void event_loop_exit(event_loop_t *loop) {
        for splay_each(io_t, io, &loop->ios)
-               splay_free_node(&loop->ios, node);
+               splay_unlink_node(&loop->ios, node);
        for splay_each(timeout_t, timeout, &loop->timeouts)
-               splay_free_node(&loop->timeouts, node);
+               splay_unlink_node(&loop->timeouts, node);
        for splay_each(signal_t, signal, &loop->signals)
-               splay_free_node(&loop->signals, node);
+               splay_unlink_node(&loop->signals, node);
 }