| # Copyright 2012 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 "Start servod" |
| author "chromium-os-dev@chromium.org" |
| |
| start on net-device-up |
| stop on runlevel [!2345] |
| respawn |
| # If you change the respawn limit, change the log rotation, below. |
| respawn limit 3 10 |
| |
| script |
| LOG=/var/log/servod.log |
| |
| # We set OLD to ".4" to correspond to the respawn limit of 3 |
| # above. That way, if we die from the respawn limit, we'll have |
| # logs from all failed respawns, plus the original log that |
| # presumably contains the first failure. |
| OLD=.4 |
| for NEW in .3 .2 .1 ''; do |
| if [ -f $LOG$NEW ]; then |
| mv -f $LOG$NEW $LOG$OLD |
| fi |
| OLD=$NEW |
| done |
| exec >$LOG 2>&1 |
| |
| . /etc/default/servod |
| if [ -n "$BOARD" ]; then |
| BOARD_FLAG="--board ${BOARD}" |
| logger -t "$UPSTART_JOB" "Launching servod for ${BOARD}" |
| else |
| BOARD_FLAG="" |
| logger -t "$UPSTART_JOB" "Launching servod with unspecified DUT board" |
| fi |
| |
| echo "================= Version information =================" |
| echo "$REVISION" |
| echo "=======================================================" |
| exec servod --debug --host 0.0.0.0 $BOARD_FLAG |
| end script |