When Perl "kill(9, ...)" fails, try "pg_ctl kill".
authorNoah Misch <noah@leadboat.com>
Sat, 13 Apr 2019 18:09:27 +0000 (11:09 -0700)
committerNoah Misch <noah@leadboat.com>
Sat, 13 Apr 2019 18:09:30 +0000 (11:09 -0700)
Per buildfarm member jacana, the former fails under msys Perl 5.8.8.
Back-patch to 9.6, like the code in question.

Discussion: https://postgr.es/m/GrdLgAdUK9FdyZg8VIcTDKVOkys122ZINEb3CjjoySfGj2KyPiMKTh1zqtRp0TAD7FJ27G-OBB3eplxIB5GhcQH5o8zzGZfp0MuJaXJxVxk=@yesql.se

src/test/perl/PostgresNode.pm

index fd2a67c8c9e2c66c25789439b9aacf6cd198b271..f8e38ab4895426cce7a3a00fd162442f73210e66 100644 (file)
@@ -725,7 +725,9 @@ sub kill9
    my $name = $self->name;
    return unless defined $self->{_pid};
    print "### Killing node \"$name\" using signal 9\n";
-   kill(9, $self->{_pid}) or BAIL_OUT("kill(9, $self->{_pid}) failed");
+   # kill(9, ...) fails under msys Perl 5.8.8, so fall back on pg_ctl.
+   kill(9, $self->{_pid})
+     or TestLib::system_or_bail('pg_ctl', 'kill', 'KILL', $self->{_pid});
    $self->{_pid} = undef;
    return;
 }