DRTVWR-474: Do NOT autokill updater process on viewer termination.
The updater is required to survive beyond termination of the viewer that launched it so it can launch the next installer, or a replacement viewer. Having the old viewer forcibly terminate it on shutdown would be counter- productive. Introduce a third LLLeap::create() overload taking LLProcess::Params, which gives access to autokill, cwd and other options previously unsupported by LLLeap. Reimplement the existing create() overloads in terms of this new one, since LLLeapImpl::LLLeapImpl() is already based on LLProcess::Params anyway. Use LLProcess::Params in LLAppViewer::init() to specify the updater process, setting autokill=false. Refactoring LLLeapImpl() apparently involved engaging an LLInitParam::Block feature never before used: had to drag operator() into Multiple from its base class TypedParam (as has been done in other TypedParam subclasses).
Showing
- indra/llcommon/llinitparam.h 3 additions, 0 deletionsindra/llcommon/llinitparam.h
- indra/llcommon/llleap.cpp 32 additions, 19 deletionsindra/llcommon/llleap.cpp
- indra/llcommon/llleap.h 14 additions, 0 deletionsindra/llcommon/llleap.h
- indra/newview/llappviewer.cpp 16 additions, 17 deletionsindra/newview/llappviewer.cpp
Loading
Please register or sign in to comment