mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-09-22 22:31:28 +02:00
BUG/MINOR: channel: Set CF_WROTE_DATA when outgoing data are skipped
in co_skip(), the flag CF_WRITE_PARTIAL is set on the channel. The flag CF_WROTE_DATA must also be set to notify the channel some data were sent. This patch must be backported to 1.9.
This commit is contained in:
parent
b8d2ee0406
commit
729b5b308c
@ -910,7 +910,7 @@ static inline void channel_slow_realign(struct channel *chn, char *swap)
|
||||
* when data have been read directly from the buffer. It is illegal to call
|
||||
* this function with <len> causing a wrapping at the end of the buffer. It's
|
||||
* the caller's responsibility to ensure that <len> is never larger than
|
||||
* chn->o. Channel flag WRITE_PARTIAL is set.
|
||||
* chn->o. Channel flags WRITE_PARTIAL and WROTE_DATA are set.
|
||||
*/
|
||||
static inline void co_skip(struct channel *chn, int len)
|
||||
{
|
||||
@ -919,9 +919,10 @@ static inline void co_skip(struct channel *chn, int len)
|
||||
c_realign_if_empty(chn);
|
||||
|
||||
/* notify that some data was written to the SI from the buffer */
|
||||
chn->flags |= CF_WRITE_PARTIAL;
|
||||
chn->flags |= CF_WRITE_PARTIAL | CF_WROTE_DATA;
|
||||
}
|
||||
|
||||
|
||||
/* Tries to copy chunk <chunk> into the channel's buffer after length controls.
|
||||
* The chn->o and to_forward pointers are updated. If the channel's input is
|
||||
* closed, -2 is returned. If the block is too large for this buffer, -3 is
|
||||
|
Loading…
x
Reference in New Issue
Block a user