mirror of
https://github.com/nginx/nginx.git
synced 2024-11-21 16:28:40 +00:00
Stream: allow waiting on a blocked QUIC stream (ticket #2479).
Previously, waiting on a shared connection was not allowed, because the only type of such connection was plain UDP. However, QUIC stream connections are also shared since they share socket descriptor with the listen connection. Meanwhile, it's perfectly normal to wait on such connections. The issue manifested itself with stream write errors when the amount of data exceeded stream buffer size or flow control. Now no error is triggered and Stream write module is allowed to wait for buffer space to become available.
This commit is contained in:
parent
ba15b2af1b
commit
cc00acfe74
@ -277,7 +277,12 @@ ngx_stream_write_filter(ngx_stream_session_t *s, ngx_chain_t *in,
|
|||||||
*out = chain;
|
*out = chain;
|
||||||
|
|
||||||
if (chain) {
|
if (chain) {
|
||||||
if (c->shared) {
|
if (c->shared
|
||||||
|
#if (NGX_STREAM_QUIC)
|
||||||
|
&& c->quic == NULL
|
||||||
|
#endif
|
||||||
|
)
|
||||||
|
{
|
||||||
ngx_log_error(NGX_LOG_ALERT, c->log, 0,
|
ngx_log_error(NGX_LOG_ALERT, c->log, 0,
|
||||||
"shared connection is busy");
|
"shared connection is busy");
|
||||||
return NGX_ERROR;
|
return NGX_ERROR;
|
||||||
|
Loading…
Reference in New Issue
Block a user