pgpool2.git / summary / log / commit / refs
commit dd73b6fe6244267d78379e5b59c8a3f9c8e4067c
Author: Yugo Nagata <nagata@sraoss.co.jp>
Date: Mon Oct 01 04:28:33 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 already set.
main.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/main.c b/main.c
index 05ce218b3..6aaad6339 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: 5315e2a2680d]