confSTDIOTYPE

Use torek or portable for buffered file I/O Build macro

This build-time macro is no longer used as of V8.12 sendmail.

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 macro:

define(`confSTDIOTYPE', `torek')         ← select torek I/O
define(`confSTDIOTYPE', `portable')      ← select non-torek I/O

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.