Commit 94600dd4 authored by Noah Misch's avatar Noah Misch

pg_regress: Promptly detect failed postmaster startup.

Detect it the way pg_ctl's wait_for_postmaster() does.  When pg_regress
spawned a postmaster that failed startup, we were detecting that only
with "pg_regress: postmaster did not respond within 60 seconds".
Back-patch to 9.4 (all supported versions).

Reviewed by Tom Lane.

Discussion: https://postgr.es/m/20181231172922.GA199150@gust.leadboat.com
parent d01e75d6
...@@ -2414,7 +2414,7 @@ regression_main(int argc, char *argv[], init_function ifunc, test_function tfunc ...@@ -2414,7 +2414,7 @@ regression_main(int argc, char *argv[], init_function ifunc, test_function tfunc
* Fail immediately if postmaster has exited * Fail immediately if postmaster has exited
*/ */
#ifndef WIN32 #ifndef WIN32
if (kill(postmaster_pid, 0) != 0) if (waitpid(postmaster_pid, NULL, WNOHANG) == postmaster_pid)
#else #else
if (WaitForSingleObject(postmaster_pid, 0) == WAIT_OBJECT_0) if (WaitForSingleObject(postmaster_pid, 0) == WAIT_OBJECT_0)
#endif #endif
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment