HostStatusDirectory

Location of persistent host status V8.8 and later

The process of delivering network mail requires that sendmail fork(2) so that the child process can handle the queue. Then, if the ForkEachJob option (ForkEachJob on page 1033) is true, each job in the queue has to fork(2) again so that each child of a child can perform each task. Internally, sendmail maintains tables of status information about network hosts (such as whether the host is up or down, or refusing connections). A problem can arise when multiple queue-processing children are running. Because they are separate processes, their separate children lack access to the common pool of host information that is stored internally by each parent.[391]

One solution is to store host status information externally so that all children can access it. Inspired by KJS sendmail, V8.8 has introduced the HostStatusDirectory option. This option both tells sendmail that it should save host status information externally, and defines where that information will be stored on disk.

The form for the HostStatusDirectory option looks like this:

O HostStatusDirectory=pathconfiguration file (V8.8 and
later)
-OHostStatusDirectory=pathcommand line (V8.8 and later)
define(`confHOST_STATUS_DIRECTORY', `path')    ← mc configuration (V8.8 and later)

Here, path is of type string and, if present, specifies the base directory under which the host status will be stored. This can be a full or relative path specification. If it is a relative path, ...

Get sendmail, 4th Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.