Name

EX_OSERR

Synopsis

The EX_OSERR exit code (value 71) results from various operating system errors, several of which are described in this section. In general, this exit value is accompanied by an error message describing the problem.

When sendmail is unable to get a pipe(2) connection to send the mail message to a delivery agent, it logs one of the following errors and the fork(2)'d child exits with EX_OSERR:

recipient... openmailer(delivery agent): pipe (to mailer)
recipient... openmailer(delivery agent): pipe (from mailer)

If sendmail is unable to dup(2) a file descriptor so that it can write to its pipe, it logs one of the first three errors shown here. If sendmail fails to write to its transcript file (as set by the -X switch; Section 14.2), it logs the last error shown here. In all four cases the current open file descriptors are logged, as described in SIGUSR1:

recipient... openmailer(delivery agent): cannot dup pipe file descriptor for stdout 
recipient... openmailer(delivery agent): cannot dup stdout for stderr 
recipient... openmailer(delivery agent): cannot dup pipe file descriptor for stdin 
recipient... openmailer(delivery agent): cannot dup xscript file descriptor for stdout

If a delivery agent cannot be executed, sendmail logs the following error message, and the fork(2)'d child exits with EX_OSERR:

Cannot exec delivery agent: reason 

To save (cache) information about hosts to which connections have been made, sendmail saves a copy of the file descriptors for that connection ...

Get Sendmail, 3rd 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.