-*- coding: utf-8 -*-
Changes with Apache 2.5.0
+ *) mod_http2: tracking conn_rec->current_thread on slave connections, so
+ that mod_lua finds the correct one. Fixes PR 59542. [Stefan Eissing]
+
*) mod_proxy, mod_ssl: Handle SSLProxy* directives in <Proxy> sections,
allowing per backend TLS configuration. [Yann Ylavic]
ngn->no_live++;
*ptask = entry->task;
entry->task->assigned = ngn;
+ /* task will now run in ngn's own thread. Modules like lua
+ * seem to require the correct thread set in the conn_rec.
+ * See PR 59542. */
+ if (entry->task->c && ngn->c) {
+ entry->task->c->current_thread = ngn->c->current_thread;
+ }
return APR_SUCCESS;
}
task->blocking = blocking;
}
-apr_status_t h2_task_do(h2_task *task)
+apr_status_t h2_task_do(h2_task *task, apr_thread_t *thread)
{
AP_DEBUG_ASSERT(task);
ap_log_cerror(APLOG_MARK, APLOG_TRACE1, 0, task->c,
"h2_task(%s): process connection", task->id);
+ task->c->current_thread = thread;
ap_run_process_connection(task->c);
if (task->frozen) {
void h2_task_destroy(h2_task *task);
-apr_status_t h2_task_do(h2_task *task);
+apr_status_t h2_task_do(h2_task *task, apr_thread_t *thread);
void h2_task_set_response(h2_task *task, struct h2_response *response);
worker->get_next(worker, worker->ctx, &task, &sticky);
while (task) {
- h2_task_do(task);
+ h2_task_do(task, thread);
/* report the task done and maybe get another one from the same
* mplx (= master connection), if we can be sticky.
*/