]> granicus.if.org Git - postgresql/commitdiff
If pg_ctl stop fails, print an error message and exit (instead of going out
authorPeter Eisentraut <peter_e@gmx.net>
Tue, 25 Nov 2008 11:49:35 +0000 (11:49 +0000)
committerPeter Eisentraut <peter_e@gmx.net>
Tue, 25 Nov 2008 11:49:35 +0000 (11:49 +0000)
of our way to ignore the exit status).  If this ever really happens, worst
case you will not see the "score" at the bottom of the test run.

src/test/regress/pg_regress.c

index fc28ab3adab221042cd6a8fd615bdb6474d3396b..d063602c7e6ddc0166c05ba5e84ca0558c84a75c 100644 (file)
@@ -11,7 +11,7 @@
  * Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $PostgreSQL: pgsql/src/test/regress/pg_regress.c,v 1.50 2008/11/20 15:03:39 mha Exp $
+ * $PostgreSQL: pgsql/src/test/regress/pg_regress.c,v 1.51 2008/11/25 11:49:35 petere Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -280,7 +280,14 @@ stop_postmaster(void)
                snprintf(buf, sizeof(buf),
                                 SYSTEMQUOTE "\"%s/pg_ctl\" stop -D \"%s/data\" -s -m fast" SYSTEMQUOTE,
                                 bindir, temp_install);
-               r = system(buf);                        /* ignore exit status. Store in variable to silence gcc */
+               r = system(buf);
+               if (r != 0)
+               {
+                       fprintf(stderr, _("\n%s: could not stop postmaster: exit code was %d\n"),
+                                       progname, r);
+                       exit(2);   /* not exit_nicely(), that would be recursive */
+               }
+
                postmaster_running = false;
        }
 }