# HG changeset patch # User Timo Sirainen # Date 1264243222 -7200 # Node ID 823356f533c5aa8f22b75251366a765167d84148 # Parent 26b5209dc4f478a3f240ad45314b08365becb134 lib-master: Try for 0.5 secs to connect to master-auth socket. diff -r 26b5209dc4f4 -r 823356f533c5 src/lib-master/master-auth.c --- a/src/lib-master/master-auth.c Sat Jan 23 12:37:35 2010 +0200 +++ b/src/lib-master/master-auth.c Sat Jan 23 12:40:22 2010 +0200 @@ -12,6 +12,8 @@ #include #include +#define SOCKET_CONNECT_RETRY_MSECS 500 + struct master_auth_connection { struct master_auth *auth; unsigned int tag; @@ -172,12 +174,15 @@ buffer_append(buf, &req, sizeof(req)); buffer_append(buf, data, req.data_size); - conn->fd = net_connect_unix(auth->path); - if (conn->fd == -1) + conn->fd = net_connect_unix_with_retries(auth->path, + SOCKET_CONNECT_RETRY_MSECS); + if (conn->fd == -1) { i_error("net_connect_unix(%s) failed: %m", auth->path); + master_auth_connection_deinit(&conn); + return; + } - ret = conn->fd == -1 ? -1 : - fd_send(conn->fd, fd, buf->data, buf->used); + ret = fd_send(conn->fd, fd, buf->data, buf->used); if (ret < 0) i_error("fd_send(%d) failed: %m", fd); else if ((size_t)ret != buf->used) {