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.