From: Noah Misch Date: Mon, 31 Dec 2018 21:50:32 +0000 (-0800) Subject: pg_regress: Promptly detect failed postmaster startup. X-Git-Tag: REL_11_2~96 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ca01a6748d0bfb594128833fec6a64e6d092d37f;p=postgresql 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 --- diff --git a/src/test/regress/pg_regress.c b/src/test/regress/pg_regress.c index 3248603da1..9c6d2efb56 100644 --- a/src/test/regress/pg_regress.c +++ b/src/test/regress/pg_regress.c @@ -2419,7 +2419,7 @@ regression_main(int argc, char *argv[], init_function ifunc, test_function tfunc * Fail immediately if postmaster has exited */ #ifndef WIN32 - if (kill(postmaster_pid, 0) != 0) + if (waitpid(postmaster_pid, NULL, WNOHANG) == postmaster_pid) #else if (WaitForSingleObject(postmaster_pid, 0) == WAIT_OBJECT_0) #endif