From: Pascal Date: Sat, 8 Aug 2026 22:42:50 +0000 (+0200) Subject: server: report the isolate working directory from get_info (#26773) X-Git-Tag: upstream/0.0.10438~107 X-Git-Url: https://git.djapps.eu/?a=commitdiff_plain;h=7ba604f1cb61cd14898138e9abc0b4ff2601f180;p=pkg%2Fggml%2Fsources%2Fllama.cpp server: report the isolate working directory from get_info (#26773) * server: report the isolate working directory from get_info Without an explicit cwd, get_info fell back to the server process working directory even when a tools runtime was configured. That named a host path no tool would ever run in, since an isolate starts in a directory of its own. It now asks the isolate for its working directory in that case, and keeps the process one only when the tools run on the host. * remove redundant comment --------- Co-authored-by: Xuan-Son Nguyen --- diff --git a/tools/server/server-tools.cpp b/tools/server/server-tools.cpp index d5e696434..27c663fdd 100644 --- a/tools/server/server-tools.cpp +++ b/tools/server/server-tools.cpp @@ -1669,8 +1669,13 @@ struct server_tool_get_info : server_tool { std::string cwd = json_value(params, "cwd", std::string()); if (cwd.empty()) { - std::error_code ec; - cwd = path_to_utf8(fs::current_path(ec)); + if (json_value(params, "runtime", std::string()).empty()) { + std::error_code ec; + cwd = path_to_utf8(fs::current_path(ec)); + } else { + auto pwd = io->run({"pwd"}, SERVER_TOOL_GET_INFO_MAX_OUTPUT, SERVER_TOOL_GET_INFO_TIMEOUT); + cwd = pwd.exit_code == 0 && !pwd.timed_out ? string_strip(pwd.output) : "unknown"; + } } return {