uloop: fix corner cases with recursive uloop_run calls
[project/libubox.git] / uloop.h
diff --git a/uloop.h b/uloop.h
index 39b9b58..98dd818 100644 (file)
--- a/uloop.h
+++ b/uloop.h
@@ -44,8 +44,13 @@ typedef void (*uloop_process_handler)(struct uloop_process *c, int ret);
 #define ULOOP_WRITE            (1 << 1)
 #define ULOOP_EDGE_TRIGGER     (1 << 2)
 #define ULOOP_BLOCKING         (1 << 3)
+
+#define ULOOP_EVENT_MASK       (ULOOP_READ | ULOOP_WRITE)
+
+/* internal flags */
+#define ULOOP_EVENT_BUFFERED   (1 << 4)
 #ifdef USE_KQUEUE
-#define ULOOP_EDGE_DEFER       (1 << 4)
+#define ULOOP_EDGE_DEFER       (1 << 5)
 #endif
 
 struct uloop_fd