Yann, can you have a look if this fix of mine does do the right thing? For me,
mod_md works better when it does not use destroyed pools. 🤪
If this is ok, we might want to backport this really fast.
/Stefan
diff --git a/modules/core/mod_watchdog.c b/modules/core/mod_watchdog.c
index d833939cb0..551f0156f7 100644
--- a/modules/core/mod_watchdog.c
+++ b/modules/core/mod_watchdog.c
@@ -175,6 +175,7 @@ static void* APR_THREAD_FUNC wd_worker(apr_thread_t
*thread, void *data)
wl = wl->next;
}
apr_pool_destroy(ctx);
+ ctx = NULL;
}
else {
ap_run_watchdog_init(wd_server_conf->s, w->name, w->pool);
@@ -235,8 +236,10 @@ static void* APR_THREAD_FUNC wd_worker(apr_thread_t
*thread, void *data)
ap_run_watchdog_step(wd_server_conf->s, w->name, ctx);
}
}
- if (ctx)
+ if (ctx) {
apr_pool_destroy(ctx);
+ ctx = NULL;
+ }
if (!w->is_running) {
break;
}