blob: c1ab97e790c23c220e10e1e7abf2785d62d2071e [file] [log] [blame]
# Copyright (c) 2011 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 "Job to trigger standard system services"
author "chromium-os-dev@chromium.org"
# This job is used as a milestone marker for jobs that want to start
# once at system boot, but don't want to delay bringing up the login
# screen. Jobs depending on this job should provide a service that
# is not needed at login and not specific to a user session, but
# that should start once at boot time, possibly staying up for the
# life of the system.
#
# Standard usage:
# start on started system-services
# stop on stopping system-services
# Jobs that normally terminate in a bounded time (i.e. don't use
# 'respawn') should omit the 'stop on' stanza.
#
# Jobs that depend on system-services as described above can assume the
# following:
# * All services implied by 'boot-services' are available.
# * If applicable, Chrome has been started successfully.
# * udev events for all devices present at boot are processed.
# Jobs must not make assumptions about whether a user is logged in.
#
# Jobs that depend on system-services may fail to come up if Chrome
# fails during boot; see the 'failsafe' job for an alternative to
# this behavior.
start on started boot-complete and started boot-services
stop on stopping boot-services
# We only want to start once, but 'stopped boot-complete' happens
# every time Chrome displays the login screen. To avoid firing
# every time, we omit the main process: upstart marks us running
# on the first event, and ignores all subsequent events until we
# stop.