mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-02-07 22:12:08 +00:00
CLEANUP: muxes/stream-int: Remove flags CS_FL_READ_NULL and SI_FL_READ_NULL
Since the flag CF_SHUTR is no more set to mark the end of the message, these flags become useless. This patch should be backported to 1.9.
This commit is contained in:
parent
769d0e98b8
commit
87a8f353f1
@ -87,8 +87,8 @@ enum {
|
||||
CS_FL_ERR_PENDING = 0x00000800, /* An error is pending, but there's still data to be read */
|
||||
CS_FL_EOS = 0x00001000, /* End of stream delivered to data layer */
|
||||
CS_FL_REOS = 0x00002000, /* End of stream received (buffer not empty) */
|
||||
CS_FL_READ_NULL = 0x00004000, /* Last read received */
|
||||
CS_FL_EOI = 0x00008000, /* end-of-input reached */
|
||||
CS_FL_EOI = 0x00004000, /* end-of-input reached */
|
||||
/* unused: 0x00008000 */
|
||||
CS_FL_WAIT_FOR_HS = 0x00010000, /* This stream is waiting for handhskae */
|
||||
CS_FL_KILL_CONN = 0x00020000, /* must kill the connection when the CS closes */
|
||||
|
||||
|
@ -72,7 +72,7 @@ enum {
|
||||
SI_FL_NOLINGER = 0x00000080, /* may close without lingering. One-shot. */
|
||||
SI_FL_NOHALF = 0x00000100, /* no half close, close both sides at once */
|
||||
SI_FL_SRC_ADDR = 0x00001000, /* get the source ip/port with getsockname */
|
||||
SI_FL_READ_NULL = 0x00000200, /* Last read reported */
|
||||
/* unused: 0x00000200 */
|
||||
SI_FL_WANT_GET = 0x00004000, /* a stream-int would like to get some data from the buffer */
|
||||
SI_FL_CLEAN_ABRT = 0x00008000, /* SI_FL_ERR is used to report aborts, and not SHUTR */
|
||||
|
||||
|
@ -1782,7 +1782,7 @@ static int h1_recv(struct h1c *h1c)
|
||||
h1_wake_stream_for_recv(h1s);
|
||||
|
||||
if (conn_xprt_read0_pending(conn) && h1s && h1s->cs)
|
||||
h1s->cs->flags |= (CS_FL_REOS|CS_FL_READ_NULL);
|
||||
h1s->cs->flags |= CS_FL_REOS;
|
||||
if (!b_data(&h1c->ibuf))
|
||||
h1_release_buf(h1c, &h1c->ibuf);
|
||||
else if (!buf_room_for_htx_data(&h1c->ibuf))
|
||||
@ -1890,7 +1890,7 @@ static int h1_process(struct h1c * h1c)
|
||||
if (h1c->flags & H1C_F_CS_ERROR || conn->flags & CO_FL_ERROR)
|
||||
flags |= CS_FL_ERROR;
|
||||
if (conn_xprt_read0_pending(conn))
|
||||
flags |= (CS_FL_REOS|CS_FL_READ_NULL);
|
||||
flags |= CS_FL_REOS;
|
||||
h1s->cs->flags |= flags;
|
||||
h1s->cs->data_cb->wake(h1s->cs);
|
||||
}
|
||||
|
@ -1443,7 +1443,7 @@ static void h2_wake_some_streams(struct h2c *h2c, int last, uint32_t flags)
|
||||
flags |= CS_FL_ERR_PENDING;
|
||||
|
||||
if (conn_xprt_read0_pending(h2c->conn))
|
||||
flags |= (CS_FL_REOS|CS_FL_READ_NULL);
|
||||
flags |= CS_FL_REOS;
|
||||
|
||||
/* Wake all streams with ID > last */
|
||||
node = eb32_lookup_ge(&h2c->streams_by_id, last + 1);
|
||||
|
@ -255,7 +255,7 @@ static size_t mux_pt_rcv_buf(struct conn_stream *cs, struct buffer *buf, size_t
|
||||
if (conn_xprt_read0_pending(cs->conn)) {
|
||||
if (ret == 0)
|
||||
cs->flags &= ~(CS_FL_RCV_MORE | CS_FL_WANT_ROOM);
|
||||
cs->flags |= (CS_FL_EOS|CS_FL_READ_NULL);
|
||||
cs->flags |= CS_FL_EOS;
|
||||
}
|
||||
if (cs->conn->flags & CO_FL_ERROR) {
|
||||
if (ret == 0)
|
||||
@ -298,7 +298,7 @@ static int mux_pt_rcv_pipe(struct conn_stream *cs, struct pipe *pipe, unsigned i
|
||||
|
||||
ret = cs->conn->xprt->rcv_pipe(cs->conn, pipe, count);
|
||||
if (conn_xprt_read0_pending(cs->conn))
|
||||
cs->flags |= (CS_FL_EOS|CS_FL_READ_NULL);
|
||||
cs->flags |= CS_FL_EOS;
|
||||
if (cs->conn->flags & CO_FL_ERROR)
|
||||
cs->flags |= CS_FL_ERROR;
|
||||
return (ret);
|
||||
|
@ -594,16 +594,6 @@ static int si_cs_process(struct conn_stream *cs)
|
||||
oc->flags |= CF_WRITE_NULL;
|
||||
}
|
||||
|
||||
/* The last read was received but not reported to the channel
|
||||
* (CS_FL_READ_NULL set but not SI_FL_READ_NULL). So do it, even if the
|
||||
* EOS was already reported.
|
||||
*
|
||||
* NOTE: It is a temporary fix to handle client aborts.
|
||||
*/
|
||||
if (cs->flags & CS_FL_READ_NULL && !(si->flags & SI_FL_READ_NULL)) {
|
||||
si->flags |= SI_FL_READ_NULL;
|
||||
ic->flags |= CF_READ_NULL;
|
||||
}
|
||||
/* Report EOI on the channel if it was reached from the mux point of
|
||||
* view. */
|
||||
if ((cs->flags & CS_FL_EOI) && !(ic->flags & CF_EOI))
|
||||
|
Loading…
Reference in New Issue
Block a user