X-Git-Url: http://git.archive.openwrt.org/?p=project%2Flibubox.git;a=blobdiff_plain;f=uloop.h;h=36084f520e2ac8570967f1c98474874f9fba0af9;hp=98dd8184a4f2fa6e566dd86cfd1b779b2fae7f4d;hb=bb0c830b2a259b7c5ffa7c309ce9d3004f3c41a1;hpb=b9ebdbcc648274cc630b6349374f9fb21e53f396 diff --git a/uloop.h b/uloop.h index 98dd818..36084f5 100644 --- a/uloop.h +++ b/uloop.h @@ -53,6 +53,8 @@ typedef void (*uloop_process_handler)(struct uloop_process *c, int ret); #define ULOOP_EDGE_DEFER (1 << 5) #endif +#define ULOOP_ERROR_CB (1 << 6) + struct uloop_fd { uloop_fd_handler cb; @@ -95,13 +97,19 @@ int uloop_timeout_remaining(struct uloop_timeout *timeout); int uloop_process_add(struct uloop_process *p); int uloop_process_delete(struct uloop_process *p); +bool uloop_cancelling(void); + static inline void uloop_end(void) { uloop_cancelled = true; } int uloop_init(void); -void uloop_run(void); +int uloop_run_timeout(int timeout); +static inline int uloop_run(void) +{ + return uloop_run_timeout(-1); +} void uloop_done(void); #endif