Displaying 1 result from an estimated 1 matches for "331872a".
2018 Feb 23
2
tinc 1.1: missing PONG
...prevent one very busy event from monopolizing the event loop.
With this change I can no longer reproduce the problem of nodes not
responding to pings.
Another solution would to randomly shuffle events[] but that seems
needlessly complicated.
- todd
diff --git a/src/event.c b/src/event.c
index 331872a..03111d0 100644
--- a/src/event.c
+++ b/src/event.c
@@ -403,11 +403,14 @@ bool event_loop(void) {
}
WSAEVENT *events = xmalloc(event_count * sizeof(*events));
- DWORD event_index = 0;
+ DWORD event_index = event_count;
+ /*
+ * Fill events[] in reverse order. Otherwise we may starve...