]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
[CLEANUP] don't enable kernel splicing when socket is closed
authorWilly Tarreau <w@1wt.eu>
Sun, 8 Mar 2009 18:44:29 +0000 (19:44 +0100)
committerWilly Tarreau <w@1wt.eu>
Sun, 8 Mar 2009 18:44:29 +0000 (19:44 +0100)
Splicing will not be used when the source socket is closed. Don't
enable it uselessly.

src/session.c

index aa29591cbe7ed6967710931a9568527ded63fb0f..b3707d0434ee99067aad2ff09faf2212e823c453 100644 (file)
@@ -771,7 +771,7 @@ resync_stream_interface:
        if (!s->req->send_max && s->req->prod->state >= SI_ST_EST &&
            !s->req->analysers && !(s->req->flags & BF_HIJACK)) {
                /* check if it is wise to enable kernel splicing on the request buffer */
-               if (!(s->req->flags & BF_KERN_SPLICING) &&
+               if (!(s->req->flags & (BF_KERN_SPLICING|BF_SHUTR)) &&
                    (global.tune.options & GTUNE_USE_SPLICE) &&
                    (pipes_used < global.maxpipes) &&
                    (((s->fe->options2|s->be->options2) & PR_O2_SPLIC_REQ) ||
@@ -905,7 +905,7 @@ resync_stream_interface:
        if (!s->rep->send_max && s->rep->prod->state >= SI_ST_EST &&
            !s->rep->analysers && !(s->rep->flags & BF_HIJACK)) {
                /* check if it is wise to enable kernel splicing on the response buffer */
-               if (!(s->rep->flags & BF_KERN_SPLICING) &&
+               if (!(s->rep->flags & (BF_KERN_SPLICING|BF_SHUTR)) &&
                    (global.tune.options & GTUNE_USE_SPLICE) &&
                    (pipes_used < global.maxpipes) &&
                    (((s->fe->options2|s->be->options2) & PR_O2_SPLIC_RTR) ||