I've been getting some failures after an immediate shutdown or crash, during severe IO stress, with the message:
LOG: XX000: select() failed in postmaster: Invalid argument LOCATION: ServerLoop, postmaster.c:1560 It is trying to sleep for -1 seconds. I think the problem is here, where there should be a Max rather than a Min: commit 82233ce7ea42d6ba519aaec63008aff49da6c7af Author: Alvaro Herrera <alvhe...@alvh.no-ip.org> Date: Fri Jun 28 17:20:53 2013 -0400 Send SIGKILL to children if they don't die quickly in immediate shutdown ... + /* remaining time, but at least 1 second */ + timeout->tv_sec = Min(SIGKILL_CHILDREN_AFTER_SECS - + (time(NULL) - AbortStartTime), 1); But I don't understand the logic behind this anyway. Why sleep at least 1 second? If time is up, it is up, why not use zero as the minimum? Cheers, Jeff