# Copyright 2016 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     "Run per-boot crash collection tasks"
author          "chromium-os-dev@chromium.org"

start on stopped crash-reporter and started system-services

# This is a one-shot program that exits when it's done.
task
# In case we crash ourselves (oops), try again.
respawn
# Only retry 10 times (total) before giving up.  We pick a really large time
# limit to make sure we don't keep respawning forever.
respawn limit 10 86400

# Allow us to be killed as we are not critical to the system.  If we have a
# leak while collecting reports, better to crash & restart than to OOM-panic
# the system.
oom score -100
# TODO: Add a "limit as" directive here after doing some runtime analysis.

exec /sbin/crash_reporter --boot_collect
