# Copyright 2018 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

description     "Perform connection-manager-specific session setup tasks."
author          "chromium-os-dev@chromium.org"

start on start-user-session
# NB: session manager does not wait for this task to complete.
task

# CHROMEOS_USER is an upstart-provided variable setting passed from
# session_manager via the 'start-user-session' signal.
import CHROMEOS_USER
exec shill_login_user ${CHROMEOS_USER}

