aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/plugins/fuzzy_check.c18
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: