diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2021-05-12 21:42:24 +0100 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2021-05-12 21:42:24 +0100 |
commit | 425e6f7e937d104d9e4aef6ba78ad6903782548a (patch) | |
tree | 088f79bd8c098a93ac018fbb189aea1daa5f6590 | |
parent | 985a09cc101b06c3fb14e3bc33400ae1628f4b6e (diff) | |
download | rspamd-425e6f7e937d104d9e4aef6ba78ad6903782548a.tar.gz rspamd-425e6f7e937d104d9e4aef6ba78ad6903782548a.zip |
[Fix] Fix fuzzy retransmits
-rw-r--r-- | src/plugins/fuzzy_check.c | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/src/plugins/fuzzy_check.c b/src/plugins/fuzzy_check.c index bd45fd8d0..722daeacb 100644 --- a/src/plugins/fuzzy_check.c +++ b/src/plugins/fuzzy_check.c @@ -2607,9 +2607,21 @@ fuzzy_check_io_callback (gint fd, short what, void *arg) ret = return_want_more; } else { - /* It is actually time out */ - fuzzy_check_timer_callback (fd, what, arg); - return; + if (what & EV_WRITE) { + /* Retransmit attempt */ + if (!fuzzy_cmd_vector_to_wire (fd, session->commands)) { + ret = return_error; + } + else { + session->state = 1; + ret = return_want_more; + } + } + else { + /* It is actually time out */ + fuzzy_check_timer_callback(fd, what, arg); + return; + } } break; case 1: |