mirror of
https://github.com/curl/curl.git
synced 2025-04-12 16:20:35 +08:00
http2: always EXPIRE_RUN_NOW unpaused http/2 transfers
- just increasing the http/2 flow window does not necessarily make a server send new data. It may already have exhausted the window before Closes #11005
This commit is contained in:
parent
fbea71f293
commit
5622e431ed
@ -2210,6 +2210,15 @@ static CURLcode http2_data_pause(struct Curl_cfilter *cf,
|
||||
if(result)
|
||||
return result;
|
||||
|
||||
if(!pause) {
|
||||
/* Unpausing a h2 transfer, requires it to be run again. The server
|
||||
* may send new DATA on us increasing the flow window, and it may
|
||||
* not. We may have already buffered and exhausted the new window
|
||||
* by operating on things in flight during the handling of other
|
||||
* transfers. */
|
||||
drain_stream(cf, data, stream);
|
||||
Curl_expire(data, 0, EXPIRE_RUN_NOW);
|
||||
}
|
||||
DEBUGF(infof(data, "Set HTTP/2 window size to %u for stream %u",
|
||||
window, stream->id));
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user