Zdenek Behan | 9ca7943 | 2011-02-06 18:41:10 +0100 | [diff] [blame] | 1 | #!/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 James | 7c2e2f7 | 2012-07-10 10:17:10 -0700 | [diff] [blame] | 8 | . /usr/lib/crosutils/common.sh || exit 1 |
Zdenek Behan | 9ca7943 | 2011-02-06 18:41:10 +0100 | [diff] [blame] | 9 | |
| 10 | # Script must be run inside the chroot if not in 'always serve' mode. |
| 11 | if [[ "$1" != "--archive_dir" ]]; then |
| 12 | restart_in_chroot_if_needed "$@" |
| 13 | fi |
| 14 | |
David James | ed079b1 | 2011-05-17 14:53:15 -0700 | [diff] [blame] | 15 | export DEFAULT_INSTALL_MASK |
Zdenek Behan | 9ca7943 | 2011-02-06 18:41:10 +0100 | [diff] [blame] | 16 | |
Gilad Arnold | 9fbcc12 | 2012-08-31 16:05:01 -0700 | [diff] [blame^] | 17 | # Trap and record various signals. |
| 18 | for sig in INT TERM QUIT; do |
| 19 | trap "trap_sig=${sig}" ${sig} |
| 20 | done |
| 21 | |
| 22 | # Spawn devserver in the background, record its pid. |
Chris Sosa | 6039a40 | 2012-03-26 15:13:40 -0700 | [diff] [blame] | 23 | if [ -f /usr/lib/devserver/devserver.py ]; then |
Gilad Arnold | 9fbcc12 | 2012-08-31 16:05:01 -0700 | [diff] [blame^] | 24 | python /usr/lib/devserver/devserver.py "$@" & |
Chris Sosa | 6039a40 | 2012-03-26 15:13:40 -0700 | [diff] [blame] | 25 | else |
Gilad Arnold | 9fbcc12 | 2012-08-31 16:05:01 -0700 | [diff] [blame^] | 26 | python /usr/bin/devserver.py "$@" & |
| 27 | fi |
| 28 | devserver_pid=$! |
| 29 | |
| 30 | # Wait for devserver to die, or a signal. |
| 31 | wait |
| 32 | |
| 33 | # If interrupted by signal, forward it to the devserver. |
| 34 | if [ -n "${trap_sig}" ]; then |
| 35 | kill -s ${trap_sig} ${devserver_pid} |
Chris Sosa | 6039a40 | 2012-03-26 15:13:40 -0700 | [diff] [blame] | 36 | fi |