# 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 boot services"
author          "chromium-os-dev@chromium.org"

# This job is used as a milestone marker for jobs that are run at
# system boot right after chromeos_startup.
#
# Specifically, tasks that should start right after chromeos_startup should
# use syntax like:
#   start on starting boot-services
#   stop on stopping boot-services
#
# Tasks that want to wait for all boot services to be ready should use
# syntax like:
#   start on started boot-services

# In startup.conf we see "telinit 2", which kicks us off.
start on runlevel 2
stop on starting halt or starting reboot

# We purposely omit the main process.  upstart marks us running
# on the first event, and ignores all subsequent events until we
# stop.
