]> granicus.if.org Git - postgresql/commitdiff
In pg_ctl, report unexpected failure to stat() the postmaster.pid file.
authorTom Lane <tgl@sss.pgh.pa.us>
Sat, 25 Jul 2015 19:58:14 +0000 (15:58 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Sat, 25 Jul 2015 19:58:14 +0000 (15:58 -0400)
Any error other than ENOENT is a bit suspicious here, and perhaps should
not be grounds for assuming the postmaster has failed.  For the moment
though, just report it, and don't change the behavior otherwise.  The
intent is mainly to try to determine why we are seeing intermittent
failures in this area on some buildfarm members.

Back-patch to 9.5 where some of these failures have happened.

src/bin/pg_ctl/pg_ctl.c

index 74764fabdaf1f74ae23557417605d938956225f9..6a36d29f43b1b053026080d4408bb601115e490f 100644 (file)
@@ -648,7 +648,12 @@ test_postmaster_connection(bool do_checkpoint)
                        struct stat statbuf;
 
                        if (stat(pid_file, &statbuf) != 0)
+                       {
+                               if (errno != ENOENT)
+                                       write_stderr(_("\n%s: could not stat file \"%s\": %s\n"),
+                                                                progname, pid_file, strerror(errno));
                                return PQPING_NO_RESPONSE;
+                       }
 
                        if (found_stale_pidfile)
                        {