diff options
Diffstat (limited to 'src/libutil/upstream.c')
-rw-r--r-- | src/libutil/upstream.c | 3 |
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; |