summaryrefslogtreecommitdiff
path: root/indra/llcommon/llprocess.cpp
diff options
context:
space:
mode:
authorJonathan "Geenz" Goodman <geenz@lindenlab.com>2026-08-25 12:56:22 -0400
committerGitHub <noreply@github.com>2026-08-25 12:56:22 -0400
commit2e9c387fee881022aec13d5c85f901539683c18f (patch)
treed2cc89444771d96871b3126c9462f072dc059e32 /indra/llcommon/llprocess.cpp
parent92289533c1b95bc0fb2cdcc1217ae539485ea244 (diff)
parenta402fd4da91bbce03340e174505c06feede65866 (diff)
Merge branch 'develop' into project/lua_editor
Diffstat (limited to 'indra/llcommon/llprocess.cpp')
-rw-r--r--indra/llcommon/llprocess.cpp19
1 files changed, 18 insertions, 1 deletions
diff --git a/indra/llcommon/llprocess.cpp b/indra/llcommon/llprocess.cpp
index a71589a2bf..e43f386af2 100644
--- a/indra/llcommon/llprocess.cpp
+++ b/indra/llcommon/llprocess.cpp
@@ -701,8 +701,25 @@ void LLProcess::launch(const LLSDOrParams& params)
else
stdio.err = nullptr; // inherit
- // Build executable path
+ // Build executable path.
+ // Resolve bare executable names (i.e. "outleap-agent") through the
+ // environment's PATH
boost::filesystem::path executable_path(params.executable());
+ if (!executable_path.has_parent_path())
+ {
+ boost::filesystem::path resolved =
+ bp::environment::find_executable(executable_path);
+ if (!resolved.empty())
+ {
+ executable_path = resolved;
+ }
+ else
+ {
+ LL_WARNS("LLProcess") << "Could not locate '" << params.executable()
+ << "' on PATH -- launch will likely fail" << LL_ENDL;
+ // Let bp::process try to produce an error.
+ }
+ }
// In Boost.Process v2, error_code cannot be passed as an initializer.
// Use the throwing overload and catch the exception instead.