"ITAGAKI Takahiro" <[EMAIL PROTECTED]> wrote:

> Bug reference:      3969
> Description:        pg_ctl cannot detect server startup
> Details: 
> pg_ctl -w -o "-p 5432 -c max_connections=100" start
> waits for server startup forever and timeout,
> but server has successfully started actually.

I found this bug comes from the definition of WHITESPACE
characters in pg_ctl.c. WHITESPACE is defined as folows:
   #define WHITESPACE "\f\n\r\t\v"
In fact, WHITESPACE does not contain whilespace (0x20) :-(
I attach a patch to fix it.

BTW, I also found similar definitions in some places.
(Please grep with "\t\n\r".)
They are a bit different from each other.
For example, whitespaces is defined as " \t\n\r" in tzparser.c.
Is it ok in the inconsistency? Or, should we always use " \f\n\r\t\v" ?

Index: src/bin/pg_ctl/pg_ctl.c
--- src/bin/pg_ctl/pg_ctl.c     (HEAD)
+++ src/bin/pg_ctl/pg_ctl.c     (working copy)
@@ -49,7 +49,7 @@
 typedef long pgpid_t;
-#define WHITESPACE "\f\n\r\t\v" /* as defined by isspace() */
+#define WHITESPACE " \f\n\r\t\v" /* as defined by isspace() */
 /* postgres version ident string */
 #define PM_VERSIONSTR "postgres (PostgreSQL) " PG_VERSION "\n"

ITAGAKI Takahiro
NTT Open Source Software Center

Attachment: WHITESPACE.patch
Description: Binary data

---------------------------(end of broadcast)---------------------------
TIP 7: You can help support the PostgreSQL project by donating at


Reply via email to