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.