MINOR: connection: remove some unneeded checks for CO_FL_SOCK_WR_SH
A few places in health checks and stream-int on the send path were still
checking for this flag. Now we do not and instead we rely on snd_buf()
to report the error if any.
It's worth noting that all 3 real muxes still use CO_FL_SOCK_WR_SH and
CO_FL_ERROR interchangeably at various places to decide to abort and/or
free their data. This should be clarified and fixed so that only
CO_FL_ERROR is used, and this will render the error paths simpler and
more accurate.
diff --git a/src/checks.c b/src/checks.c
index f30f1ae..5f1cec9 100644
--- a/src/checks.c
+++ b/src/checks.c
@@ -765,13 +765,6 @@
goto out_wakeup;
}
- if (conn->flags & CO_FL_SOCK_WR_SH) {
- /* if the output is closed, we can't do anything */
- conn->flags |= CO_FL_ERROR;
- chk_report_conn_err(check, 0, 0);
- goto out_wakeup;
- }
-
/* here, we know that the connection is established. That's enough for
* a pure TCP check.
*/
@@ -3036,12 +3029,6 @@
b_reset(&check->bi);
}
- if (conn->flags & CO_FL_SOCK_WR_SH) {
- conn->flags |= CO_FL_ERROR;
- chk_report_conn_err(check, 0, 0);
- goto out_end_tcpcheck;
- }
-
if (check->current_step->string_len >= b_size(&check->bo)) {
chunk_printf(&trash, "tcp-check send : string too large (%d) for buffer size (%u) at step %d",
check->current_step->string_len, (unsigned int)b_size(&check->bo),
diff --git a/src/stream_interface.c b/src/stream_interface.c
index 14e6627..4e307ed 100644
--- a/src/stream_interface.c
+++ b/src/stream_interface.c
@@ -668,7 +668,7 @@
return 0;
/* we might have been called just after an asynchronous shutw */
- if (conn->flags & CO_FL_SOCK_WR_SH || oc->flags & CF_SHUTW)
+ if (oc->flags & CF_SHUTW)
return 1;
if (oc->pipe && conn->xprt->snd_pipe && conn->mux->snd_pipe) {