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. > > I suspect that at least the crash recovery test suffers from exactly the > same problem and that we can re-enable it on windows after doign an > equivalent change... > Yes, possibly - it would be good to remove those skips. cheers andrew -- Andrew Dunstan EDB: https://www.enterprisedb.com