diff options
author | Jo-Philipp Wich <jow@openwrt.org> | 2013-01-22 18:50:09 +0400 |
---|---|---|
committer | Jo-Philipp Wich <jow@openwrt.org> | 2013-01-23 22:32:45 +0400 |
commit | 77984bd24d0daa1e6ce7836a31c2b500621af99b (patch) | |
tree | eb0328b0329ea308466a38225be30b98ac35b7db | |
parent | e009fd8c82692343062eedb78cad6ce8898f49c5 (diff) |
uloop: add uloop_timeout_pending() function to determine the remaining time of an active timeout
-rw-r--r-- | uloop.c | 12 | ||||
-rw-r--r-- | uloop.h | 1 |
2 files changed, 13 insertions, 0 deletions
@@ -387,6 +387,18 @@ int uloop_timeout_cancel(struct uloop_timeout *timeout) return 0; } +int uloop_timeout_pending(struct uloop_timeout *timeout) +{ + struct timeval now; + + if (!timeout->pending) + return -1; + + uloop_gettime(&now); + + return tv_diff(&timeout->time, &now); +} + int uloop_process_add(struct uloop_process *p) { struct uloop_process *tmp; @@ -87,6 +87,7 @@ int uloop_fd_delete(struct uloop_fd *sock); int uloop_timeout_add(struct uloop_timeout *timeout); int uloop_timeout_set(struct uloop_timeout *timeout, int msecs); int uloop_timeout_cancel(struct uloop_timeout *timeout); +int uloop_timeout_pending(struct uloop_timeout *timeout); int uloop_process_add(struct uloop_process *p); int uloop_process_delete(struct uloop_process *p); |