blob: 34666b90cbf7aa87be8ec185533c32e23d35b498 [file] [log] [blame]
Zdenek Behan9ca79432011-02-06 18:41:10 +01001#!/bin/bash
2
3# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
4# Use of this source code is governed by a BSD-style license that can be
5# found in the LICENSE file.
6
7# Start the Dev Server after making sure we are running under a chroot.
David James7c2e2f72012-07-10 10:17:10 -07008. /usr/lib/crosutils/common.sh || exit 1
Zdenek Behan9ca79432011-02-06 18:41:10 +01009
10# Script must be run inside the chroot if not in 'always serve' mode.
11if [[ "$1" != "--archive_dir" ]]; then
12 restart_in_chroot_if_needed "$@"
13fi
14
David Jamesed079b12011-05-17 14:53:15 -070015export DEFAULT_INSTALL_MASK
Zdenek Behan9ca79432011-02-06 18:41:10 +010016
Gilad Arnold9fbcc122012-08-31 16:05:01 -070017# Trap and record various signals.
18for sig in INT TERM QUIT; do
19 trap "trap_sig=${sig}" ${sig}
20done
21
22# Spawn devserver in the background, record its pid.
Chris Sosa6039a402012-03-26 15:13:40 -070023if [ -f /usr/lib/devserver/devserver.py ]; then
Gilad Arnold9fbcc122012-08-31 16:05:01 -070024 python /usr/lib/devserver/devserver.py "$@" &
Chris Sosa6039a402012-03-26 15:13:40 -070025else
Gilad Arnold9fbcc122012-08-31 16:05:01 -070026 python /usr/bin/devserver.py "$@" &
27fi
28devserver_pid=$!
29
30# Wait for devserver to die, or a signal.
31wait
32
33# If interrupted by signal, forward it to the devserver.
34if [ -n "${trap_sig}" ]; then
35 kill -s ${trap_sig} ${devserver_pid}
Chris Sosa6039a402012-03-26 15:13:40 -070036fi