BUG/MINOR: checks: stop polling for write when we have nothing left to send
Since the change of I/O direction, we perform the connect() call and
the send() call together from the top. But the send call must at least
disable polling for writes once it does not have anything left to send.
This bug is partially responsible for the waste of resources described
in issue #253.
This must be backported to 2.0.
diff --git a/src/checks.c b/src/checks.c
index ff39b4f..4a60c41 100644
--- a/src/checks.c
+++ b/src/checks.c
@@ -791,6 +791,9 @@
}
}
+ if (!b_data(&check->bo))
+ conn_xprt_stop_send(conn);
+
/* full request sent, we allow up to <timeout.check> if nonzero for a response */
if (s->proxy->timeout.check) {
t->expire = tick_add_ifset(now_ms, s->proxy->timeout.check);