summaryrefslogtreecommitdiffstats
path: root/src/libutil
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2017-01-17 17:33:53 +0000
committerVsevolod Stakhov <vsevolod@highsecure.ru>2017-01-17 17:33:53 +0000
commit658cbe75e6c54c1462f8a8f86df303c3b19e5fc1 (patch)
treed3f6181b583b42bea876a5eab2ee5be5d4a86de6 /src/libutil
parent43566f1597716ebeaac3273dbfe45e9babfff10c (diff)
downloadrspamd-658cbe75e6c54c1462f8a8f86df303c3b19e5fc1.tar.gz
rspamd-658cbe75e6c54c1462f8a8f86df303c3b19e5fc1.zip
[Fix] Another try to fix corruption during maps reload
Diffstat (limited to 'src/libutil')
-rw-r--r--src/libutil/map.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/libutil/map.c b/src/libutil/map.c
index ea295e7a4..6a1e76fcd 100644
--- a/src/libutil/map.c
+++ b/src/libutil/map.c
@@ -294,9 +294,16 @@ free_http_cbdata_dtor (gpointer p)
struct rspamd_map *map;
map = cbd->map;
- cbd->stage = map_finished;
+ if (cbd->stage >= map_load_file) {
+ REF_RELEASE (cbd);
+ }
+ else {
+ /* We cannot terminate DNS requests sent */
+ cbd->stage = map_finished;
+ }
+
msg_warn_map ("connection with http server is terminated: worker is stopping");
- REF_RELEASE (cbd);
+
}
/*