From: Yann Ylavic Date: Tue, 15 Sep 2015 16:34:06 +0000 (+0000) Subject: core: Avoid a compiler warning when NO_LINGCLOSE is used (-Wunreachable-code). X-Git-Tag: 2.5.0-alpha~2837 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bf91d25a68b1ab010c05774225aa57b201b886f0;p=thirdparty%2Fapache%2Fhttpd.git core: Avoid a compiler warning when NO_LINGCLOSE is used (-Wunreachable-code). Also, check c->aborted before apr_socket_shutdown() because it is set earlier, and there is no point in calling shutdown() before close(). git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1703248 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/server/connection.c b/server/connection.c index 4f862e4ece6..b1edaab52c6 100644 --- a/server/connection.c +++ b/server/connection.c @@ -116,12 +116,6 @@ AP_DECLARE(int) ap_start_lingering_close(conn_rec *c) ap_update_child_status(c->sbh, SERVER_CLOSING, NULL); } -#ifdef NO_LINGCLOSE - ap_flush_conn(c); /* just close it */ - apr_socket_close(csd); - return 1; -#endif - /* Close the connection, being careful to send out whatever is still * in our buffers. If possible, try to avoid a hard close until the * client has ACKed our FIN and/or has stopped sending us data. @@ -130,21 +124,20 @@ AP_DECLARE(int) ap_start_lingering_close(conn_rec *c) /* Send any leftover data to the client, but never try to again */ ap_flush_conn(c); - if (c->aborted) { - apr_socket_close(csd); - return 1; - } - +#ifdef NO_LINGCLOSE + apr_socket_close(csd); + return 1; +#else /* Shut down the socket for write, which will send a FIN * to the peer. */ - if (apr_socket_shutdown(csd, APR_SHUTDOWN_WRITE) != APR_SUCCESS - || c->aborted) { + if (c->aborted + || apr_socket_shutdown(csd, APR_SHUTDOWN_WRITE) != APR_SUCCESS) { apr_socket_close(csd); return 1; } - return 0; +#endif } AP_DECLARE(void) ap_lingering_close(conn_rec *c)