]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
master: Try to listen on master socket even if all services couldn't be listened to.
authorTimo Sirainen <timo.sirainen@dovecot.fi>
Mon, 27 Feb 2017 14:23:09 +0000 (16:23 +0200)
committerGitLab <gitlab@git.dovecot.net>
Wed, 1 Mar 2017 07:08:50 +0000 (09:08 +0200)
This could happen during a settings reload.

src/master/service-listen.c

index 993d72ebdcc99018bdbe9775f252d9df2a551a56..2e7917fe60fa2ce676984540ac51e1dc6461eb8b 100644 (file)
@@ -367,8 +367,12 @@ int services_listen(struct service_list *service_list)
                if (ret2 < ret)
                        ret = ret2;
        }
-       if (ret > 0)
-               ret = services_listen_master(service_list);
+       /* reloading config wants to continue even when we're returning 0. */
+       if (ret >= 0) {
+               ret2 = services_listen_master(service_list);
+               if (ret2 < ret)
+                       ret = ret2;
+       }
 
 #ifdef HAVE_SYSTEMD
        if (ret > 0)