| 184 | } |
| 185 | |
| 186 | static apr_status_t proxy_session_pre_close(void *theconn) |
| 187 | { |
| 188 | proxy_conn_rec *p_conn = (proxy_conn_rec *)theconn; |
| 189 | h2_proxy_session *session = p_conn->data; |
| 190 | |
| 191 | if (session && session->ngh2) { |
| 192 | ap_log_cerror(APLOG_MARK, APLOG_TRACE1, 0, session->c, |
| 193 | "proxy_session(%s): pool cleanup, state=%d, streams=%d", |
| 194 | session->id, session->state, |
| 195 | (int)h2_proxy_ihash_count(session->streams)); |
| 196 | session->aborted = 1; |
| 197 | dispatch_event(session, H2_PROXYS_EV_PRE_CLOSE, 0, NULL); |
| 198 | nghttp2_session_del(session->ngh2); |
| 199 | session->ngh2 = NULL; |
| 200 | p_conn->data = NULL; |
| 201 | } |
| 202 | return APR_SUCCESS; |
| 203 | } |
| 204 | |
| 205 | static int proxy_pass_brigade(apr_bucket_alloc_t *bucket_alloc, |
| 206 | proxy_conn_rec *p_conn, |
nothing calls this directly
no test coverage detected