From 58c734a6816265476454b1f6c499c77bbc202154 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrien=20Gallou=C3=ABt?= Date: Thu, 12 Jan 2017 10:11:04 +0000 Subject: [PATCH] Remove a useless loop in mud_send() --- mud.c | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/mud.c b/mud.c index 966e6ca..27c1972 100644 --- a/mud.c +++ b/mud.c @@ -1224,11 +1224,15 @@ mud_send(struct mud *mud, const void *data, size_t size, int tc) struct mud_path *path; struct mud_path *path_min = NULL; + struct mud_path *path_backup = NULL; + int64_t limit_min = INT64_MAX; for (path = mud->path; path; path = path->next) { - if (path->state.backup) + if (path->state.backup) { + path_backup = path; continue; + } int64_t limit = path->limit; uint64_t elapsed = now - path->send_time; @@ -1252,15 +1256,10 @@ mud_send(struct mud *mud, const void *data, size_t size, int tc) } if (!path_min) { - for (path = mud->path; path; path = path->next) { - if (path->state.backup) { - path_min = path; - break; - } - } - - if (!path_min) + if (!path_backup) return 0; + + path_min = path_backup; } ssize_t ret = mud_send_path(mud, path_min, now, packet, packet_size, tc);