comparison src/event/quic/ngx_event_quic_streams.c @ 8875:13cb758e6ac0 quic

QUIC: reset stream only once.
author Roman Arutyunyan <arut@nginx.com>
date Wed, 22 Sep 2021 14:02:56 +0300
parents 630ecd703805
children 1ead7d64e993
comparison
equal deleted inserted replaced
8874:7f4b2687ac80 8875:13cb758e6ac0
219 ngx_connection_t *pc; 219 ngx_connection_t *pc;
220 ngx_quic_frame_t *frame; 220 ngx_quic_frame_t *frame;
221 ngx_quic_stream_t *qs; 221 ngx_quic_stream_t *qs;
222 ngx_quic_connection_t *qc; 222 ngx_quic_connection_t *qc;
223 223
224 wev = c->write;
225
226 if (wev->error) {
227 return NGX_OK;
228 }
229
224 qs = c->quic; 230 qs = c->quic;
225 pc = qs->parent; 231 pc = qs->parent;
226 qc = ngx_quic_get_connection(pc); 232 qc = ngx_quic_get_connection(pc);
227 233
228 frame = ngx_quic_alloc_frame(pc); 234 frame = ngx_quic_alloc_frame(pc);
236 frame->u.reset_stream.error_code = err; 242 frame->u.reset_stream.error_code = err;
237 frame->u.reset_stream.final_size = c->sent; 243 frame->u.reset_stream.final_size = c->sent;
238 244
239 ngx_quic_queue_frame(qc, frame); 245 ngx_quic_queue_frame(qc, frame);
240 246
241 wev = c->write;
242 wev->error = 1; 247 wev->error = 1;
243 wev->ready = 1; 248 wev->ready = 1;
244 249
245 return NGX_OK; 250 return NGX_OK;
246 } 251 }