BUG/MINOR: checks: start sending the request right after connect()

Since the change of I/O direction, we must not wait for an empty connect
callback before sending the request, we must attempt to send it as soon
as possible so that we don't uselessly poll. This is what this patch
does. This reduces the total check duration by a complete poll loop
compared to what is described in issue #253.

This must be backported to 2.0.

(cherry picked from commit cc705a6b612df9d1ac46fea4c733f621669c4514)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
diff --git a/src/checks.c b/src/checks.c
index fd2fa2d..ca33316 100644
--- a/src/checks.c
+++ b/src/checks.c
@@ -2246,8 +2246,14 @@
 				t->expire = tick_first(t->expire, t_con);
 			}
 
-			if (check->type)
+			if (check->type) {
+				/* send the request if we have one. We avoid receiving
+				 * if not connected, unless we didn't subscribe for
+				 * sending since otherwise we won't be woken up.
+				 */
+				__event_srv_chk_w(cs);
 				__event_srv_chk_r(cs);
+			}
 
 			task_set_affinity(t, tid_bit);
 			goto reschedule;