On Fri, Jan 06, 2023 at 01:45:48PM -0500, Wietse Venema wrote:

> > Most changes in main.cf require a reload to become effective but there 
> > are some exceptions requiring a restart, e. g. a change of 
> > inet_interfaces. 
> 
> That is incorrect. If inet_interfaces is changed, then a "postfix
> reload" (not restart) is required because the master daemon is a
> long-running process.

The documentation of inet_interfaces says otherwise, my recollection is
that master(8) does not attempt to rebind inet sockets on "reload":

    src/master/master_ent.c: /*
    src/master/master_ent.c:  * XXX We cannot change the inet_interfaces 
setting for a running master
    src/master/master_ent.c:  * process. Listening sockets are inherited by 
child processes so that
    src/master/master_ent.c:  * closing and reopening those sockets in the 
master does not work.
    src/master/master_ent.c:  *
    src/master/master_ent.c:  * Another problem is that library routines still 
cache results that are
    src/master/master_ent.c:  * based on the old inet_interfaces setting. It is 
too much trouble to
    src/master/master_ent.c:  * recompute everything.
    src/master/master_ent.c:  *
    src/master/master_ent.c:  * In order to keep our data structures consistent 
we ignore changes in
    src/master/master_ent.c:  * inet_interfaces settings, and issue a warning 
instead.
    src/master/master_ent.c:  */

If one really wants to change the IP address and/or number of listen
endpoints, a restart is required.

-- 
    Viktor.

Reply via email to