# Copyright 2014 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   "Supplemental session_manager initialization after boot"
author        "chromium-os-dev@chromium.org"

# This job forwards machine information to session_manager over DBus.
# The data is used by session_manager eventually, but is not critical to
# starting the UI.

# Machine information needs to be pushed to session_manager every time
# it starts. However, the data may not be available yet. In that case
# this job runs again after ui-collect-machine-info has collected the
# data.
start on login-prompt-visible or stopped ui-collect-machine-info

exec /usr/share/cros/init/ui-init-late
