diff options
-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: |