On 3 Dec 1998 michael@??? wrote:
> I certainly hope that exim only
> forks a process per email instead of using fork()/exec()?
For message reception, yes. However, it if goes on to deliver the
message it has just received, it has to fork()/exec() in order to
recover system privilege, unless you run it as root by not defining an
Exim user (or as seteuid during reception), in which case it just forks
a delivery process. Neither of these are recommended because they reduce
security.
Alternatively you could run it in queue_only mode, so all incoming mail
is initially just put on the queue, to be delivered by queue runners
that you kick at suitable intervals. Each queue runner will work its way
down the queue, forking (but not execing) a delivery process per
message, and waiting for it to complete before continuing. However, each
delivery process might itself fork (but again won't exec) for local
deliveries or parallel remote deliveries. It will only exec if it wants
to fire up a new delivery process to send another message down an SMTP
channel it has got open.
All this talk of 3M mails per day is way, way beyond anything I
conceived of when I started writing Exim.
--
Philip Hazel University of Cambridge Computing Service,
ph10@??? Cambridge, England. Phone: +44 1223 334714.
--
*** Exim information can be found at
http://www.exim.org/ ***