Whenever sendmail rebuilds the
aliases database, it first clears the old
database. It then rebuilds the database and, when done, adds the
special entry @:@. Before
sendmail attempts to use the database, it first
looks in that database for the special entry @:@
that should be present. This curious entry is employed because it is
always illegal in an aliases file. If
sendmail doesn't find that
entry (whether because a user ran newaliases or
because another invocation of sendmail is
currently rebuilding it), it waits 2 seconds for that entry to
appear, then checks again. If the entry is still unavailable, the
wait is doubled (up to a maximum wait of 60 seconds). The total time
waited (after all the sleeps without success) is the interval
specified by this AliasWait option.
When the @:@ appears,
sendmail checks to see whether the database
still needs to be rebuilt and rebuilds it if it does. If the special
entry @:@ does not appear after the specified
time, sendmail assumes that some other process
died while that other process was rebuilding the database. This
assumption paves the way for sendmail to go
ahead and rebuild the database.
The forms of the AliasWait option are as follows:
O AliasWait=delay configuration file (V8.7 and later)
-OAliasWait=delay command line (V8.7 and later)
define(`confALIAS_WAIT',delay) mc configuration (V8.7 and later)
Oadelay configuration file (deprecated)
-oadelay command line (deprecated)
The delay argument is of type
time and, if omitted, defaults to 5 minutes. If
the entire AliasWait option is omitted or if
delay is zero or nonnumeric, the database
is not automatically rebuilt. If the unit of time desired is omitted,
the delay defaults to minutes. If you use the mc
configuration, the default for confALIAS_WAIT is
10 minutes.
The AliasWait option is not safe. If specified
from the command line, it can cause sendmail to
relinquish its special privileges.