This build-time macro is no longer used as of V8.12
Prior to V8.10 sendmail, xf
transcript files were always created on disk for each delivery,
regardless of whether any information ever ended up in them. In fact,
99% of the time, the xf transcript is created
and discarded without ever having been used. Unfortunately, the
sendmail queue directory is disk-based, and
therefore is limited in the number of I/O operations possible per
second. Creating and removing useless files is expensive and has been
shown to slow down sendmail.
Beginning with V8.10 sendmail it is possible to
create and remove xf transcript files in memory,
rather than on disk, and place them on disk only if they become large
or need to be archived. This was made possible by the
torek I/O library supplied with UCB 4.4 versions
of Unix. For such versions, that library is used to create a
memory-based file I/O inside sendmail, and thus
speed up sendmail.
On the downside, for systems that lack the torek
I/O library, this memory-based disk I/O is not available. Such
systems are those based on System V or pre-4.4 BSD Unix, or Linux.
For all the flavors of Unix supported in
devtools/OS, the selection of the type of I/O is
correct. In the rare circumstance that you need to change this
setting, you can do so with this confSTDIOTYPE
define(`confSTDIOTYPE', `torek') select torek I/O
define(`confSTDIOTYPE', `portable') select non-torek I/O
If your Unix supports torek I/O, you will
benefit in some additional ways. In addition to
xf transcript files (Section 11.2.7), datafiles (df files)
are also buffered (Section 11.2.2). In future releases
of sendmail, other transient files might also be
buffered in memory.
If your Unix lacks torek I/O, you can still
minimize the impact of xf files by moving them
to a memory-based filesystem, such as tmpfs.
This is done with the QUEUE_DIR configuration
option's wildcard extension for multiple queues (see
As of V8.12, in-memory buffering of files is universal and no longer
requires this Build macro.