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