It TRIES TO, it does not guarantee anything.
The MTA systems are an example of software suites which have
transaction requirements. The goal has been usually stated
as: must not fail to deliver.
Practical implementations without full-blown all encompassing
transactions will usually mean that the message "will be delivered
at least once", e.g. double-delivery can happen.
One view to MTA behaviour is moving the message from one substate
to another during its processing.
These days, usually, the transaction database for MTAs is UNIX
filesystem. For ZMailer I have considered (although not actually
done - yet) using SleepyCat DB files for the transaction subsystem.
There are great challenges in failure compartementalisation, and
integrity, when using that kind of integrated database mechanisms.
Getting SEGV is potentially _very_ bad thing!
> Ketil
/Matti Aarnio
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/