fix injection error handling
This commit is contained in:
@ -77,29 +77,6 @@ sub update_db_config {
|
|||||||
say "Updated db.conf for database $db_prefix\_$experiment";
|
say "Updated db.conf for database $db_prefix\_$experiment";
|
||||||
}
|
}
|
||||||
|
|
||||||
sub wait_for_port {
|
|
||||||
my ( $host, $port, $timeout ) = @_;
|
|
||||||
my $deadline = time + $timeout;
|
|
||||||
|
|
||||||
while ( time < $deadline ) {
|
|
||||||
my $sock = IO::Socket::INET->new(
|
|
||||||
PeerHost => $host,
|
|
||||||
PeerPort => $port,
|
|
||||||
Proto => 'tcp',
|
|
||||||
Timeout => 1,
|
|
||||||
);
|
|
||||||
|
|
||||||
if ($sock) {
|
|
||||||
close $sock;
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
select undef, undef, undef, 0.1;
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
sub cpu_count {
|
sub cpu_count {
|
||||||
open( my $handle, "/proc/cpuinfo" ) or die "Can't open cpuinfo: $!\n";
|
open( my $handle, "/proc/cpuinfo" ) or die "Can't open cpuinfo: $!\n";
|
||||||
my $count = scalar( map /^processor/, <$handle> );
|
my $count = scalar( map /^processor/, <$handle> );
|
||||||
@ -269,14 +246,13 @@ sub inject {
|
|||||||
"--inject-single-bit",
|
"--inject-single-bit",
|
||||||
"--inject-registers"
|
"--inject-registers"
|
||||||
)
|
)
|
||||||
) or die "exec server failed: $!";
|
) == 0 or die "exec server failed: $!";
|
||||||
}
|
}
|
||||||
|
|
||||||
# parent -> client
|
# parent -> client
|
||||||
|
|
||||||
say "Waiting for server...";
|
say "Waiting for server...";
|
||||||
die "Server did not become ready on port $fail_server_port\n"
|
sleep(10);
|
||||||
unless wait_for_port( "127.0.0.1", $fail_server_port, 10 );
|
|
||||||
|
|
||||||
say "Running client with $count cores in parent process";
|
say "Running client with $count cores in parent process";
|
||||||
|
|
||||||
@ -303,7 +279,7 @@ sub inject {
|
|||||||
"-Wf,--detected-marker=fail_marker_detected",
|
"-Wf,--detected-marker=fail_marker_detected",
|
||||||
">/dev/null"
|
">/dev/null"
|
||||||
)
|
)
|
||||||
) or die "client failed: $?";
|
) == 0 or die "client failed: $?";
|
||||||
|
|
||||||
say "Killing server with pid $pid...";
|
say "Killing server with pid $pid...";
|
||||||
kill 'TERM', $pid;
|
kill 'TERM', $pid;
|
||||||
|
|||||||
Reference in New Issue
Block a user