From: Martin Johansson Date: Wed, 29 Aug 2012 19:13:51 +0000 (+0200) Subject: Fix unsafe client removal from list at timeout. X-Git-Url: http://git.code-monkey.de/?p=umurmur.git;a=commitdiff_plain;h=ad3bc56f96b024ac31e8927f21d1f5e7b8f61b56 Fix unsafe client removal from list at timeout. --- diff --git a/src/client.c b/src/client.c index a81badf..9f7576e 100644 --- a/src/client.c +++ b/src/client.c @@ -91,9 +91,9 @@ int Client_getfds(struct pollfd *pollfds) void Client_janitor() { - struct dlist *itr; + struct dlist *itr, *save; int bwTop = maxBandwidth + maxBandwidth / 4; - list_iterate(itr, &clients) { + list_iterate_safe(itr, save, &clients) { client_t *c; c = list_get_entry(itr, client_t, node); Log_debug("Client %s BW available %d", c->username, c->availableBandwidth);