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);
/* 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();
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;
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)