SOURCES: postgresql-pg_ctl-fix.patch - updated for 8.2.5
radek
radek at pld-linux.org
Wed Sep 19 00:02:20 CEST 2007
Author: radek Date: Tue Sep 18 22:02:20 2007 GMT
Module: SOURCES Tag: HEAD
---- Log message:
- updated for 8.2.5
---- Files affected:
SOURCES:
postgresql-pg_ctl-fix.patch (1.1 -> 1.2)
---- Diffs:
================================================================
Index: SOURCES/postgresql-pg_ctl-fix.patch
diff -u SOURCES/postgresql-pg_ctl-fix.patch:1.1 SOURCES/postgresql-pg_ctl-fix.patch:1.2
--- SOURCES/postgresql-pg_ctl-fix.patch:1.1 Tue Apr 4 19:07:10 2006
+++ SOURCES/postgresql-pg_ctl-fix.patch Wed Sep 19 00:02:14 2007
@@ -1,18 +1,28 @@
---- src/bin/pg_ctl/pg_ctl.c.orig 2006-04-04 15:52:48.000000000 +0000
-+++ src/bin/pg_ctl/pg_ctl.c 2006-04-04 16:43:27.000000000 +0000
-@@ -373,9 +373,11 @@
+--- postgresql-8.2.5/src/bin/pg_ctl/pg_ctl.c.orig 2007-09-18 22:08:39.757996485 +0100
++++ postgresql-8.2.5/src/bin/pg_ctl/pg_ctl.c 2007-09-18 22:43:12.441795575 +0100
+@@ -19,6 +19,7 @@
+
+ #include "postgres_fe.h"
+ #include "libpq-fe.h"
++#include "pg_config_manual.h"
+
+ #include <locale.h>
+ #include <signal.h>
+@@ -404,10 +405,12 @@
bool success = false;
int i;
char portstr[32];
-+ char sockstr[256];
++ char sockstr[MAXPGPATH];
char *p;
+- char connstr[128]; /* Should be way more than enough! */
++ char connstr[MAXPGPATH+128];
*portstr = '\0';
-+ *sockstr = '\0';
++ *sockstr = '\0';
/* post_opts */
for (p = post_opts; *p;)
-@@ -400,7 +402,7 @@
+@@ -432,7 +435,7 @@
}
/* config file */
@@ -21,7 +31,7 @@
{
char **optlines;
-@@ -413,18 +415,32 @@
+@@ -445,18 +448,32 @@
while (isspace((unsigned char) *p))
p++;
@@ -34,7 +44,7 @@
- continue;
- p++;
- while (isspace((unsigned char) *p))
-+ if (strncmp(p, "port", strlen("port")) == 0)
++ if (!*portstr && strncmp(p, "port", strlen("port")) == 0)
+ {
+ p += strlen("port");
+ while (isspace((unsigned char) *p))
@@ -48,7 +58,7 @@
+ StrNCpy(portstr, p, Min(strcspn(p, "#" WHITESPACE) + 1,
sizeof(portstr)));
+ }
-+ if (strncmp(p, "unix_socket_directory", strlen("unix_socket_directory")) == 0)
++ if (!*sockstr && strncmp(p, "unix_socket_directory", strlen("unix_socket_directory")) == 0)
+ {
+ p += strlen("unix_socket_directory");
+ while (isspace((unsigned char) *p))
@@ -64,12 +74,16 @@
/* keep looking, maybe there is another */
}
}
-@@ -440,7 +456,7 @@
-
+@@ -473,6 +490,12 @@
+ /* We need to set a connect timeout otherwise on Windows the SCM will probably timeout first */
+ snprintf(connstr, sizeof(connstr), "dbname=postgres port=%s connect_timeout=5", portstr);
+
++ /* path to directory containing the unix socket */
++ if (*sockstr) {
++ strncat(connstr, " host=", sizeof(connstr) - strlen(connstr));
++ strncat(connstr, sockstr, sizeof(connstr) - strlen(connstr));
++ }
++
for (i = 0; i < wait_seconds; i++)
{
-- if ((conn = PQsetdbLogin(NULL, portstr, NULL, NULL,
-+ if ((conn = PQsetdbLogin((!*sockstr ? NULL : sockstr), portstr, NULL, NULL,
- "postgres", NULL, NULL)) != NULL &&
- (PQstatus(conn) == CONNECTION_OK ||
- (strcmp(PQerrorMessage(conn),
+ if ((conn = PQconnectdb(connstr)) != NULL &&
================================================================
---- CVS-web:
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/SOURCES/postgresql-pg_ctl-fix.patch?r1=1.1&r2=1.2&f=u
More information about the pld-cvs-commit
mailing list