MCPcopy Create free account
hub / github.com/apache/httpd / c1_purge_streams

Function c1_purge_streams

modules/http2/h2_mplx.c:613–642  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

611
612
613static void c1_purge_streams(h2_mplx *m)
614{
615 h2_stream *stream;
616 int i;
617
618 for (i = 0; i < m->spurge->nelts; ++i) {
619 stream = APR_ARRAY_IDX(m->spurge, i, h2_stream*);
620 ap_assert(stream->state == H2_SS_CLEANUP);
621
622 if (stream->input) {
623 h2_beam_destroy(stream->input, m->c1);
624 stream->input = NULL;
625 }
626 if (stream->c2) {
627 conn_rec *c2 = stream->c2;
628 h2_conn_ctx_t *c2_ctx = h2_conn_ctx_get(c2);
629 h2_c2_transit *transit;
630
631 stream->c2 = NULL;
632 ap_assert(c2_ctx);
633 transit = c2_ctx->transit;
634 h2_c2_destroy(c2); /* c2_ctx is gone as well */
635 if (transit) {
636 c2_transit_recycle(m, transit);
637 }
638 }
639 h2_stream_destroy(stream);
640 }
641 apr_array_clear(m->spurge);
642}
643
644void h2_mplx_c1_going_keepalive(h2_mplx *m)
645{

Callers 3

h2_mplx_c1_destroyFunction · 0.85
h2_mplx_c1_pollFunction · 0.85

Calls 4

h2_beam_destroyFunction · 0.85
h2_c2_destroyFunction · 0.85
c2_transit_recycleFunction · 0.85
h2_stream_destroyFunction · 0.85

Tested by

no test coverage detected