Per Richard, replace LLProcessLauncher with LLProcess.
LLProcessLauncher had the somewhat fuzzy mandate of (1) accumulating parameters with which to launch a child process and (2) sometimes tracking the lifespan of the ensuing child process. But a valid LLProcessLauncher object might or might not have ever been associated with an actual child process. LLProcess specifically tracks a child process. In effect, it's a fairly thin wrapper around a process HANDLE (on Windows) or pid_t (elsewhere), with lifespan management thrown in. A static LLProcess::create() method launches a new child; create() accepts an LLSD bundle with child parameters. So building up a parameter bundle is deferred to LLSD rather than conflated with the process management object. Reconcile all known LLProcessLauncher consumers in the viewer code base, notably the class unit tests.
Showing
- indra/llcommon/CMakeLists.txt 3 additions, 3 deletionsindra/llcommon/CMakeLists.txt
- indra/llcommon/llprocess.cpp 338 additions, 0 deletionsindra/llcommon/llprocess.cpp
- indra/llcommon/llprocess.h 106 additions, 0 deletionsindra/llcommon/llprocess.h
- indra/llcommon/tests/llprocess_test.cpp 59 additions, 71 deletionsindra/llcommon/tests/llprocess_test.cpp
- indra/llcommon/tests/llsdserialize_test.cpp 7 additions, 6 deletionsindra/llcommon/tests/llsdserialize_test.cpp
- indra/llplugin/llpluginprocessparent.cpp 24 additions, 23 deletionsindra/llplugin/llpluginprocessparent.cpp
- indra/llplugin/llpluginprocessparent.h 6 additions, 4 deletionsindra/llplugin/llpluginprocessparent.h
- indra/newview/llexternaleditor.cpp 37 additions, 36 deletionsindra/newview/llexternaleditor.cpp
- indra/newview/llexternaleditor.h 2 additions, 3 deletionsindra/newview/llexternaleditor.h
- indra/viewer_components/updater/llupdateinstaller.cpp 9 additions, 11 deletionsindra/viewer_components/updater/llupdateinstaller.cpp
Loading
Please register or sign in to comment