diff options
| author | Junio C Hamano <gitster@pobox.com> | 2021-09-20 15:20:46 -0700 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2021-09-20 15:20:46 -0700 |
| commit | 71e36361bfc535deddfba1403a52f02fd24b2340 (patch) | |
| tree | d62fbfe3ab10825a2772dc3feedbb778df8a18ab /t | |
| parent | 2a6d0b2b6879f01bd4e0f9f41ce8f6d7990c61a5 (diff) | |
| parent | e8f55568de602630e0ce60f7863bdaeeea26c1c0 (diff) | |
| download | git-71e36361bfc535deddfba1403a52f02fd24b2340.tar.gz | |
Merge branch 'jk/t5562-racefix'
Test update.
* jk/t5562-racefix:
t5562: use alarm() to interrupt timed child-wait
Diffstat (limited to 't')
| -rw-r--r-- | t/t5562/invoke-with-content-length.pl | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/t/t5562/invoke-with-content-length.pl b/t/t5562/invoke-with-content-length.pl index 0943474af2..718dd9b49d 100644 --- a/t/t5562/invoke-with-content-length.pl +++ b/t/t5562/invoke-with-content-length.pl @@ -13,11 +13,6 @@ my $body_data; defined read($body_fh, $body_data, $body_size) or die "Cannot read $body_filename: $!"; close($body_fh); -my $exited = 0; -$SIG{"CHLD"} = sub { - $exited = 1; -}; - # write data my $pid = open(my $out, "|-", @command); { @@ -29,8 +24,13 @@ my $pid = open(my $out, "|-", @command); } print $out $body_data or die "Cannot write data: $!"; -sleep 60; # is interrupted by SIGCHLD -if (!$exited) { - close($out); +$SIG{ALRM} = sub { + kill 'KILL', $pid; die "Command did not exit after reading whole body"; +}; +alarm 60; + +my $ret = waitpid($pid, 0); +if ($ret != $pid) { + die "confusing return from waitpid: $ret"; } |
