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]