projects
/
tinc
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix check for expired events.
[tinc]
/
src
/
event.c
diff --git
a/src/event.c
b/src/event.c
index
6827dc0
..
fdbf11d
100644
(file)
--- a/
src/event.c
+++ b/
src/event.c
@@
-36,7
+36,7
@@
static int io_compare(const io_t *a, const io_t *b) {
static int timeout_compare(const timeout_t *a, const timeout_t *b) {
struct timeval diff;
timersub(&a->tv, &b->tv, &diff);
static int timeout_compare(const timeout_t *a, const timeout_t *b) {
struct timeval diff;
timersub(&a->tv, &b->tv, &diff);
- return diff.tv_sec ?: diff.tv_usec;
+ return diff.tv_sec ?: diff.tv_usec
?: a < b ? -1 : a > b ? 1 : 0
;
}
static int signal_compare(const signal_t *a, const signal_t *b) {
}
static int signal_compare(const signal_t *a, const signal_t *b) {
@@
-182,7
+182,7
@@
bool event_loop(void) {
timeout_t *timeout = timeout_tree.head->data;
timersub(&timeout->tv, &now, &diff);
timeout_t *timeout = timeout_tree.head->data;
timersub(&timeout->tv, &now, &diff);
- if(diff.tv_sec <
=
0) {
+ if(diff.tv_sec < 0) {
timeout->cb(timeout->data);
if(timercmp(&timeout->tv, &now, <))
timeout_del(timeout);
timeout->cb(timeout->data);
if(timercmp(&timeout->tv, &now, <))
timeout_del(timeout);