From: Marko Kreen Date: Wed, 16 Feb 2011 06:43:29 +0000 (+0200) Subject: win32: allow cf_unix_socket_dir == NULL X-Git-Tag: pgbouncer_1_4_1_rc1~16 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=3a0456a0689e391b0ec19960391a13393beef203;p=pgbouncer win32: allow cf_unix_socket_dir == NULL --- diff --git a/src/main.c b/src/main.c index d3b74aa..c1ac799 100644 --- a/src/main.c +++ b/src/main.c @@ -587,7 +587,7 @@ static bool check_old_process_unix(void) int domain = AF_UNIX; int res, fd; - if (!*cf_unix_socket_dir) + if (!cf_unix_socket_dir || !*cf_unix_socket_dir) return false; memset(&sa_un, 0, len); @@ -627,7 +627,7 @@ static void takeover_part1(void) /* use temporary libevent base */ void *evtmp = event_init(); - if (!*cf_unix_socket_dir) + if (!cf_unix_socket_dir || !*cf_unix_socket_dir) fatal("cannot reboot if unix dir not configured"); takeover_init(); diff --git a/src/objects.c b/src/objects.c index 9f81fe3..475176e 100644 --- a/src/objects.c +++ b/src/objects.c @@ -884,6 +884,11 @@ static void dns_connect(struct PgSocket *server) memset(&sa_un, 0, sizeof(sa_un)); sa_un.sun_family = AF_UNIX; unix_dir = host ? host : cf_unix_socket_dir; + if (!unix_dir || !*unix_dir) { + log_error("Unix socket dir not configured: %s", db->name); + disconnect_server(server, false, "cannot connect"); + return; + } snprintf(sa_un.sun_path, sizeof(sa_un.sun_path), "%s/.s.PGSQL.%d", unix_dir, db->port); sa = (struct sockaddr *)&sa_un; diff --git a/src/pooler.c b/src/pooler.c index 008242b..6455ceb 100644 --- a/src/pooler.c +++ b/src/pooler.c @@ -361,7 +361,7 @@ void pooler_setup(void) if (cf_listen_addr && !fd_net) fd_net = create_net_socket(cf_listen_addr, cf_listen_port); - if (*cf_unix_socket_dir && !fd_unix) + if (cf_unix_socket_dir && *cf_unix_socket_dir && !fd_unix) fd_unix = create_unix_socket(cf_unix_socket_dir, cf_listen_port); if (!fd_net && !fd_unix)