Re: Make all Perl warnings fatal
От | Peter Eisentraut |
---|---|
Тема | Re: Make all Perl warnings fatal |
Дата | |
Msg-id | 95430e02-95af-404b-9afe-3a7504411f96@eisentraut.org обсуждение исходный текст |
Ответ на | Re: Make all Perl warnings fatal (Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>) |
Ответы |
Re: Make all Perl warnings fatal
|
Список | pgsql-hackers |
On 11.01.24 12:29, Bharath Rupireddy wrote: > On Sat, Dec 30, 2023 at 12:57 AM Peter Eisentraut <peter@eisentraut.org> wrote: >> >> committed > > With the commit c5385929 converting perl warnings to FATAL, use of > psql/safe_psql with timeout parameters [1] fail with the following > error: > > Use of uninitialized value $ret in bitwise and (&) at > /home/ubuntu/postgres/src/test/recovery/../../../src/test/perl/PostgreSQL/Test/Cluster.pm > line 2015. I think what is actually relevant is the timed_out parameter, otherwise the psql/safe_psql function ends up calling "die" and you don't get any further. > Perhaps assigning a default error code to $ret instead of undef in > PostgreSQL::Test::Cluster - psql() function is the solution. I would put this code my $core = $ret & 128 ? " (core dumped)" : ""; die "psql exited with signal " . ($ret & 127) . "$core: '$$stderr' while running '@psql_params'" if $ret & 127; $ret = $ret >> 8; inside a if (defined $ret) block. Then the behavior would be that the whole function returns undef on timeout, which is usefully different from returning 0 (and matches previous behavior).
В списке pgsql-hackers по дате отправления: