]> git.meshlink.io Git - meshlink/blobdiff - src/event.h
Merge branch 'mesh_topology_output' into roles
[meshlink] / src / event.h
index 3d49fe2d9b825e74e41d9c581b3b4891fd993290..4eb182518b350ba57cb7c036e0340f7c70e4ba6b 100644 (file)
     51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 */
 
-#ifndef __TINC_EVENT_H__
-#define __TINC_EVENT_H__
+#ifndef __MESHLINK_EVENT_H__
+#define __MESHLINK_EVENT_H__
 
 #include "splay_tree.h"
+#include "system.h"
 
 #define IO_READ 1
 #define IO_WRITE 2
@@ -59,6 +60,7 @@ struct event_loop_t {
 
        volatile bool running;
        struct timeval now;
+       bool deletion;
        
        splay_tree_t ios;
        splay_tree_t timeouts;
@@ -70,9 +72,6 @@ struct event_loop_t {
        void *data;
 };
 
-extern event_loop_t *loop;
-extern struct timeval now;
-
 extern void io_add(event_loop_t *loop, io_t *io, io_cb_t cb, void *data, int fd, int flags);
 extern void io_del(event_loop_t *loop, io_t *io);
 extern void io_set(event_loop_t *loop, io_t *io, int flags);
@@ -87,7 +86,7 @@ extern void signal_del(event_loop_t *loop, signal_t *sig);
 
 extern void event_loop_init(event_loop_t *loop);
 extern void event_loop_exit(event_loop_t *loop);
-extern bool event_loop_run(event_loop_t *loop);
+extern bool event_loop_run(event_loop_t *loop, pthread_mutex_t *mutex);
 extern void event_loop_flush_output(event_loop_t *loop);
 extern void event_loop_stop(event_loop_t *loop);