blob: 18769504ce5358cddd167528c387213f530dfc47 [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 Arnold7487c5b2012-09-03 16:04:53 -070017# Trap various signals (but do nothing about it).
18trap : INT TERM QUIT
Gilad Arnold9fbcc122012-08-31 16:05:01 -070019
20# Spawn devserver in the background, record its pid.
Chris Sosa6039a402012-03-26 15:13:40 -070021if [ -f /usr/lib/devserver/devserver.py ]; then
Gilad Arnold9fbcc122012-08-31 16:05:01 -070022 python /usr/lib/devserver/devserver.py "$@" &
Chris Sosa6039a402012-03-26 15:13:40 -070023else
Gilad Arnold9fbcc122012-08-31 16:05:01 -070024 python /usr/bin/devserver.py "$@" &
25fi
26devserver_pid=$!
27
Gilad Arnold7487c5b2012-09-03 16:04:53 -070028# Wait for devserver to terminate. If we're interrupted by a signal, kill the
29# devserver and wait for it to die.
Gilad Arnold9fbcc122012-08-31 16:05:01 -070030wait
Gilad Arnold7487c5b2012-09-03 16:04:53 -070031while [ $? -ge 128 ]; do
Gilad Arnold13ed2132012-09-03 07:28:36 -070032 kill ${devserver_pid}
Gilad Arnold7487c5b2012-09-03 16:04:53 -070033 wait
34done