Re: [exim] socket bind() to port 25 for address (any IPv4) f…

Top Page
Delete this message
Reply to this message
Author: Heiko Schlittermann
Date:  
To: exim-users
Subject: Re: [exim] socket bind() to port 25 for address (any IPv4) failed (#76)
> >
> > True, you do not have to have the service running in foreground mode.
> > But it would make systemd happier.
>
> Is there any specific advantage?


For what I understood - the main advantage is, that systemd doesn't have
to guess the PID if the main process. And can do a better job in
supervising (and restarting) the main process.

> I've seen one disadvantage mentioned, although for an MTA it's
> a real edge-case: in foreground mode, systemd assumes the service
> is fully available immediately and will start any dependent items.


And in forking mode? I *think*, as soon as the forking process returns,
systemd assumes the service is available, doesn't it? Thus, the same may
happen, if the forked process needs some time to setup its listeners and
so on.

> If the service actually takes any time in startup before becoming
> available (like, parsing its config, creating all its listener
> sockets) then a dependent that tries to use the service will get
> a spurious error.


From my (virtual) todo list:

    - make Exim systemd aware (use the sd_notify() (or similiar) systemd
      API call to notify systemd about the service being ready


      (just now filed as a wishlist bug)


--
Heiko