From: Willy Tarreau Date: Thu, 12 Mar 2015 21:42:29 +0000 (+0100) Subject: MINOR: connection: make conn_sock_shutw() actually perform the shutdown() call X-Git-Tag: v1.6-dev2~342 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a02e8c951096e5b84b12a4762611bd284c50fe93;p=thirdparty%2Fhaproxy.git MINOR: connection: make conn_sock_shutw() actually perform the shutdown() call This function was not used yet and was only supposed to mark the connection as shutdown for write. Unfortunately at other places in stream_interface.c, we're seeing a bit of layering violations with attempts to perform the shutdown on the fd directly. Let's make this function call shutdown() itself so that the callers only have to care about the connection. --- diff --git a/include/proto/connection.h b/include/proto/connection.h index 76093a51b5..fc97f1c333 100644 --- a/include/proto/connection.h +++ b/include/proto/connection.h @@ -412,6 +412,8 @@ static inline void conn_sock_shutw(struct connection *c) { c->flags |= CO_FL_SOCK_WR_SH; __conn_sock_stop_send(c); + if (conn_ctrl_ready(c)) + shutdown(c->t.sock.fd, SHUT_WR); } static inline void conn_data_shutw(struct connection *c)