5 Oct
2008
5 Oct
'08
2:04 p.m.
On Thu, 2008-10-02 at 20:30 +0200, Bernhard Herzog wrote:
On 02.10.2008, Sascha Wilde wrote:
We discovered that this new code in dict-server.c seems to be the problem:
server->fd = net_listen_unix_unlink_stale(path, 64); if (server->fd == -1) { if (errno == EADDRINUSE) i_fatal("Socket already exists: %s", path); else i_fatal("net_listen_unix(%s) failed: %m", path); }
It turns out the problem is that net_listen_unix_unlink_stale is called even if a file descriptor is passed into dict_server_init. The attached patch fixes it for me.
Thanks. I fixed it slightly differently to avoid annoying indentation :) http://hg.dovecot.org/dovecot-1.2/rev/3718d603f9d0