On 3/3/21 5:32 PM, Andrew Dunstan wrote: > On 3/3/21 4:42 PM, Andres Freund wrote: >> Hi, >> >> On 2021-03-03 16:07:13 -0500, Andrew Dunstan wrote: >>> Here's what I actually got working. Rip out the calls to kill_kill and >>> replace them with: >>> >>> >>> $psql_primary{stdin} .= "\\q\n"; >>> $psql_primary{run}->pump_nb(); >>> $psql_standby{stdin} .= "\\q\n"; >>> $psql_standby{run}->pump_nb(); >>> sleep 2; # give them time to quit >>> >>> >>> No hang or signal now. >> Hm. I wonder if we can avoid the sleep 2 by doing something like >> ->pump(); ->finish(); instead of one pump_nb()? One pump() is needed to >> send the \q to psql, and then we need to wait for the process to finish? >> I'll try that, but given that I can't reproduce any problems... > > Looking at the examples in the IPC:Run docco, it looks like we might > just be able to replace the pump_nb above with finish, and leave the > sleep out. I'll try that.
OK, this worked fine. I'll try it s a recipe in the other places where kill_kill is forcing us to skip tests under MSwin32 perl, and see how we go. cheers andrew -- Andrew Dunstan EDB: https://www.enterprisedb.com