1# 2# Copyright (C) 2012 The Android Open Source Project 3# 4# Licensed under the Apache License, Version 2.0 (the "License"); 5# you may not use this file except in compliance with the License. 6# You may obtain a copy of the License at 7# 8# http://www.apache.org/licenses/LICENSE-2.0 9# 10# Unless required by applicable law or agreed to in writing, software 11# distributed under the License is distributed on an "AS IS" BASIS, 12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13# See the License for the specific language governing permissions and 14# limitations under the License. 15# 16 17description "System software update service" 18author "[email protected]" 19 20# N.B. The chromeos-factoryinstall ebuild edits the 'start on' line so as 21# to disable update_engine in factory images. Do not change this without 22# also updating that reference. 23start on starting system-services 24stop on stopping system-services 25# The default is 10 failures every 5 seconds, but even if we crash early, it is 26# hard to catch that. So here we set the crash rate as 10 failures every 20 27# seconds which will include the default and more. 28respawn limit 10 20 29 30expect fork 31 32# Runs the daemon at low/idle IO priority so that updates don't 33# impact system responsiveness. 34exec ionice -c3 update_engine 35 36# Put update_engine process in its own cgroup. 37# Default cpu.shares is 1024. 38post-start script 39 cgroup_dir="/sys/fs/cgroup/cpu/${UPSTART_JOB}" 40 mkdir -p "${cgroup_dir}" 41 echo $(status | cut -f 4 -d ' ') > "${cgroup_dir}/tasks" 42end script 43