Skip to content
Snippets Groups Projects
  • Nat Goodspeed's avatar
    b1955d42
    DRTVWR-474: Do NOT autokill updater process on viewer termination. · b1955d42
    Nat Goodspeed authored
    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).
    b1955d42
    History
    DRTVWR-474: Do NOT autokill updater process on viewer termination.
    Nat Goodspeed authored
    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).
Code owners
Assign users and groups as approvers for specific file changes. Learn more.