]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
[MINOR] stream_sock: don't set SI_FL_WAIT_DATA if BF_SHUTW_NOW is set
authorWilly Tarreau <w@1wt.eu>
Sun, 20 Sep 2009 09:13:40 +0000 (11:13 +0200)
committerWilly Tarreau <w@1wt.eu>
Sun, 20 Sep 2009 09:14:27 +0000 (11:14 +0200)
Don't ask for more data when we know we're about to close. This is
harmless but better have it cleaned up.

src/stream_sock.c

index cf6da5a97aa9849e49bb10fb9ddb2ff700ad735d..ed2db2f2ffbead5694ca49093e015dabb454c083 100644 (file)
@@ -745,7 +745,7 @@ int stream_sock_write(int fd)
                        goto out_wakeup;
                }
                
-               if ((b->flags & (BF_SHUTW|BF_FULL|BF_HIJACK)) == 0)
+               if ((b->flags & (BF_SHUTW|BF_SHUTW_NOW|BF_FULL|BF_HIJACK)) == 0)
                        si->flags |= SI_FL_WAIT_DATA;
 
                EV_FD_CLR(fd, DIR_WR);
@@ -924,7 +924,7 @@ void stream_sock_data_finish(struct stream_interface *si)
                /* Write not closed, update FD status and timeout for writes */
                if (ob->flags & BF_OUT_EMPTY) {
                        /* stop writing */
-                       if ((ob->flags & (BF_FULL|BF_HIJACK)) == 0)
+                       if ((ob->flags & (BF_FULL|BF_HIJACK|BF_SHUTW_NOW)) == 0)
                                si->flags |= SI_FL_WAIT_DATA;
                        EV_FD_COND_C(fd, DIR_WR);
                        ob->wex = TICK_ETERNITY;
@@ -1045,7 +1045,7 @@ void stream_sock_chk_snd(struct stream_interface *si)
                        goto out_wakeup;
                }
 
-               if ((ob->flags & (BF_SHUTW|BF_FULL|BF_HIJACK)) == 0)
+               if ((ob->flags & (BF_SHUTW|BF_SHUTW_NOW|BF_FULL|BF_HIJACK)) == 0)
                        si->flags |= SI_FL_WAIT_DATA;
                ob->wex = TICK_ETERNITY;
        }