Viktor Dukhovni:
> 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":

I see. Yes, that could be dififcult. Or maybe not. 

The Postfix master creates as many sockets as needed for an inet
service, and sets the socket option SO_REUSEADDR on each socket,
and bind()s them to the desired addresses.

With that, it may be possible for the Postfix master to create new
sockets, set SO_REUSEADDR on each socket, and bind() them to the
new addresses; if successful, close() the old sockets, otherwise
close() the new sockets.

Am I missing something? This will have to work on all supported
systems, though. Not just Linux, not just *BSD.

        Wietse

Reply via email to