John R Levine wrote:
Even on a UNIX box there are good reasons to prefer a per thread model
to a per process model, process creation and teardown in UNIX is only
lightweight compared to other O/S.
Depends how big the process is. Forking sendmail takes forever, but
qmail's server is small and snappy. I realize that one can do threads on
Unix boxes, but I don't think that many MTAs actually do so.
I'm not going to disagree that forking on Unix takes longer than
utilizing a long-running thread, so that's why we (Sendmail) have been
implementing these checks in external milters, which are long-running
threaded processes which the MTA can talk to.
Existing perceptions of architecture should not be a major burden on the
protocol design process; most of those perceptions are out-of-date
anyways. ;)
-Rand