From a8d9cc18b0bbb33fbcccf6d1c0fa92c65160bc31 Mon Sep 17 00:00:00 2001 From: Doug Anderson Date: Wed, 2 Feb 2011 15:47:00 -0800 Subject: [PATCH] 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 --- enter_chroot.sh | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/enter_chroot.sh b/enter_chroot.sh index 669cdacb78..91df62ca80 100755 --- a/enter_chroot.sh +++ b/enter_chroot.sh @@ -125,6 +125,10 @@ sudo chmod 0777 "$FLAGS_chroot/var/lock" LOCKFILE="$FLAGS_chroot/var/lock/enter_chroot" 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 echo $$ >> "$LOCKFILE" @@ -232,6 +236,10 @@ function setup_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 ( flock 200