pgpool2.git / summary / log / commit / refs
commit 0bd4deb16a25f503a1ebfe49cb5361fdff9c2b7f
Author: Yugo Nagata <nagata@sraoss.co.jp>
Date: Mon Oct 01 05:11:34 2012 +0000
Fix to set unix domain socket path for pgpool PCP communication before
setting up signal handlers.
Previously, unlink of the socket in exit process was failed because the
path of the socket was not set.
Patch contributed by Gilles Darold
Subject :[pgpool-hackers: 131] Found bug with watchdog resulting in pgpool
segmentation fault
Date: Fri Sep 14 01:54:42 JST 2012
main.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/main.c b/main.c
index acde42cce..86a5a0130 100644
--- a/main.c
+++ b/main.c
@@ -490,10 +490,14 @@ int main(int argc, char **argv)
pool_clear_cache_by_time(interval, 1);
}
- /* set unix domain socket path */
+ /* set unix domain socket path for connections to pgpool */
snprintf(un_addr.sun_path, sizeof(un_addr.sun_path), "%s/.s.PGSQL.%d",
pool_config->socket_dir,
pool_config->port);
+ /* set unix domain socket path for pgpool PCP communication */
+ snprintf(pcp_un_addr.sun_path, sizeof(pcp_un_addr.sun_path), "%s/.s.PGSQL.%d",
+ pool_config->pcp_socket_dir,
+ pool_config->pcp_port);
/* set up signal handlers */
pool_signal(SIGPIPE, SIG_IGN);
@@ -678,9 +682,6 @@ int main(int argc, char **argv)
pool_log("%s successfully started. version %s (%s)", PACKAGE, VERSION, PGPOOLVERSION);
/* fork a child for PCP handling */
- snprintf(pcp_un_addr.sun_path, sizeof(pcp_un_addr.sun_path), "%s/.s.PGSQL.%d",
- pool_config->pcp_socket_dir,
- pool_config->pcp_port);
pcp_unix_fd = create_unix_domain_socket(pcp_un_addr);
/* maybe change "*" to pool_config->pcp_listen_addresses */
pcp_inet_fd = create_inet_domain_socket("*", pool_config->pcp_port);
[parent: 9a17ee696fd2]