Skip to content

Commit a8beb3a

Browse files
server: fix CLI/env duplication in child processes
Children now receive minimal CLI args (executable, model, port, alias) instead of inheriting all router args. Global settings pass through LLAMA_ARG_* environment variables only, eliminating duplicate config warnings. Fixes: Router args like -ngl, -fa were passed both via CLI and env, causing 'will be overwritten' warnings on every child spawn
1 parent 4b0cce3 commit a8beb3a

File tree

1 file changed

+13
-8
lines changed

1 file changed

+13
-8
lines changed

tools/server/server-models.cpp

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -481,20 +481,25 @@ void server_models::load(const std::string & name, bool auto_load) {
481481
if (auto_load && !meta.args.empty()) {
482482
child_args = strip_router_control_args(meta.args); // copy previous args minus router-only flags
483483
} else {
484-
child_args = base_args; // copy
484+
child_args.push_back(base_args[0]);
485485
if (inst.meta.in_cache) {
486-
add_or_replace_arg(child_args, "-hf", inst.meta.name);
486+
child_args.push_back("-hf");
487+
child_args.push_back(inst.meta.name);
487488
} else {
488-
add_or_replace_arg(child_args, "-m", inst.meta.path);
489+
child_args.push_back("-m");
490+
child_args.push_back(inst.meta.path);
489491
if (!inst.meta.path_mmproj.empty()) {
490-
add_or_replace_arg(child_args, "--mmproj", inst.meta.path_mmproj);
492+
child_args.push_back("--mmproj");
493+
child_args.push_back(inst.meta.path_mmproj);
491494
}
492495
}
493-
}
494496

495-
// set model args
496-
add_or_replace_arg(child_args, "--port", std::to_string(inst.meta.port));
497-
add_or_replace_arg(child_args, "--alias", inst.meta.name);
497+
child_args.push_back("--port");
498+
child_args.push_back(std::to_string(inst.meta.port));
499+
500+
child_args.push_back("--alias");
501+
child_args.push_back(inst.meta.name);
502+
}
498503

499504
std::vector<std::string> child_env = base_env; // copy
500505
auto config_env = server_config.env_for(inst.meta.name);

0 commit comments

Comments
 (0)