From 63fd3cb2150e5c3a8055afec09f81294b902b3d7 Mon Sep 17 00:00:00 2001 From: Ben Pfaff Date: Tue, 23 Nov 2004 00:36:46 +0000 Subject: [PATCH 1/1] Fix treatment of timeouts in run-tests and pintos. --- grading/vm/run-tests | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/grading/vm/run-tests b/grading/vm/run-tests index 85164aa..61adbaf 100755 --- a/grading/vm/run-tests +++ b/grading/vm/run-tests @@ -696,8 +696,15 @@ sub xsystem { }; if ($@) { die unless $@ eq "alarm\n"; # propagate unexpected errors - print "Timed out $pid.\n"; - kill ('SIGTERM', $pid); + print "Timed out: "; + for (my ($i) = 0; $i < 10; $i++) { + kill ('SIGTERM', $pid); + sleep (1); + my ($retval) = waitpid ($pid, WNOHANG); + last if $retval == $pid || $retval == -1; + print "Waiting for $pid to die" if $i == 0; + print "."; + } $status = 0; } -- 2.30.2