| 86 | } |
| 87 | |
| 88 | static void bucket_destroy(void *data) |
| 89 | { |
| 90 | h2_bucket_eos *h = data; |
| 91 | |
| 92 | if (apr_bucket_shared_destroy(h)) { |
| 93 | h2_stream *stream = h->stream; |
| 94 | if (stream && stream->pool) { |
| 95 | apr_pool_cleanup_kill(stream->pool, &h->stream, bucket_cleanup); |
| 96 | } |
| 97 | apr_bucket_free(h); |
| 98 | if (stream) { |
| 99 | h2_stream_dispatch(stream, H2_SEV_EOS_SENT); |
| 100 | } |
| 101 | } |
| 102 | } |
| 103 | |
| 104 | const apr_bucket_type_t h2_bucket_type_eos = { |
| 105 | "H2EOS", 5, APR_BUCKET_METADATA, |
nothing calls this directly
no test coverage detected