]> 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)
committerTimo Sirainen <timo.sirainen@dovecot.fi>
Thu, 16 Mar 2017 17:50:58 +0000 (19:50 +0200)
This could happen during a settings reload.

src/master/service-listen.c

index dad0f506cae777da41cb003883ae66a318d44cbc..16b73483b1a35e4733edc51fe9cbc5ec5c16c8dc 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)