aboutsummaryrefslogtreecommitdiffstats
path: root/src/libutil/upstream.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libutil/upstream.c')
-rw-r--r--src/libutil/upstream.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/libutil/upstream.c b/src/libutil/upstream.c
index 574cf0667..8bbe48208 100644
--- a/src/libutil/upstream.c
+++ b/src/libutil/upstream.c
@@ -727,7 +727,7 @@ rspamd_upstream_get_round_robin (struct upstream_list *ups, gboolean use_cur)
}
}
- if (use_cur) {
+ if (use_cur && selected) {
if (selected->cur_weight > 0) {
selected->cur_weight--;
}
@@ -735,6 +735,7 @@ rspamd_upstream_get_round_robin (struct upstream_list *ups, gboolean use_cur)
selected->cur_weight = selected->weight;
}
}
+
rspamd_mutex_unlock (ups->lock);
return selected;