diff options
| author | Jonathan "Geenz" Goodman <geenz@lindenlab.com> | 2026-09-22 17:35:03 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-09-22 17:35:03 -0400 |
| commit | f3fba78d9185a2385cc6c5226b7a87fddff826dd (patch) | |
| tree | 4d04ad5876c69ec0b3203dec69c711161fa7f934 /indra/llcommon/llprocess.cpp | |
| parent | cc5d3dd3cd653971fff16cf2bc1d380edd5ea7f2 (diff) | |
| parent | 125dfba5f94191fc99d1c511d190d6a9f2d9d2f1 (diff) | |
Merge pull request #6357 from secondlife/pepper/chat-merge-26.5
Merge `release/26.5` into `project/chat-modernization`
Diffstat (limited to 'indra/llcommon/llprocess.cpp')
| -rw-r--r-- | indra/llcommon/llprocess.cpp | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/indra/llcommon/llprocess.cpp b/indra/llcommon/llprocess.cpp index a71589a2bf..86e1f48377 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. @@ -1092,6 +1109,11 @@ bool LLProcess::kill(const LLProcessPtr& ptr, const std::string& who) return !ptr || ptr->kill(who); } +void LLProcess::pump() +{ + tick(); +} + LLProcess::id LLProcess::getProcessID() const { if (!mChild) |
