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:27 +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 f6570639e00dc57b6d0f7e1074e48e1bd1a7c27b..61d78ad4c0d910cf5dcd0275031cfa8ff19bf5f3 100644 (file)
@@ -789,7 +789,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;
 }