Avoid problems where PW prompt in enter_chroot.sh would block other terminals.

Change-Id: Ibd32a4be12e88d183dd0acbcb156582ad946c92f

BUG=chromium-os:11602
TEST=Added a 'sudo -K' as the first line of teardown_env to simulate sudo timeout, then performed steps in bug report (without 15 minute wait).

Review URL: http://codereview.chromium.org/6250116
This commit is contained in:
Doug Anderson 2011-02-02 15:47:00 -08:00
parent 79088f496e
commit a8d9cc18b0

View File

@ -125,6 +125,10 @@ sudo chmod 0777 "$FLAGS_chroot/var/lock"
LOCKFILE="$FLAGS_chroot/var/lock/enter_chroot" LOCKFILE="$FLAGS_chroot/var/lock/enter_chroot"
function setup_env { function setup_env {
# Validate sudo timestamp before entering the critical section so that we
# don't stall for a password while we have the lockfile.
sudo -v
( (
flock 200 flock 200
echo $$ >> "$LOCKFILE" echo $$ >> "$LOCKFILE"
@ -232,6 +236,10 @@ function setup_env {
} }
function teardown_env { function teardown_env {
# Validate sudo timestamp before entering the critical section so that we
# don't stall for a password while we have the lockfile.
sudo -v
# Only teardown if we're the last enter_chroot to die # Only teardown if we're the last enter_chroot to die
( (
flock 200 flock 200