From 1dffe5f58b3c3e9b1fad32c3feb5abc96b5d1457 Mon Sep 17 00:00:00 2001 From: Nils Goroll Date: Fri, 6 Sep 2024 12:09:15 +0200 Subject: [PATCH] mgt: load vexts already in the manager we foresaw this when we added VEXTs: while storage VEXTs have been happy with loading in the worker process *), to support pluggable acceptors, VEXTs need to be present in the manager for opening privileged ports etc. *) There are two reasons why restricting VEXTs to the child worked for the (only?) existing storage VEXT: It does not insist on creating the storage file with elevated privileges, and, as far as VCL is concerned, the storage gets configured even if its code is not yet present (See STV_Config()) --- bin/varnishd/mgt/mgt_main.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/bin/varnishd/mgt/mgt_main.c b/bin/varnishd/mgt/mgt_main.c index 8a914328527..b11f253c4ac 100644 --- a/bin/varnishd/mgt/mgt_main.c +++ b/bin/varnishd/mgt/mgt_main.c @@ -919,6 +919,9 @@ main(int argc, char * const *argv) if (C_flag) AZ(atexit(mgt_Cflag_atexit)); + vext_copyin(vident); + vext_load(); + /* If no -s argument specified, process default -s argument */ if (!arg_list_count("s")) STV_Config(s_arg); @@ -928,8 +931,6 @@ main(int argc, char * const *argv) mgt_vcl_init(); - vext_copyin(vident); - u = 0; VTAILQ_FOREACH(alp, &arglist, list) { if (!strcmp(alp->arg, "f") && alp->priv != NULL)