5ef4895832
which init thoughtfully revoke()'s when starting a getty on ttyv0. This Cron's popen() was passing these fd's through to cron children (ie: sendmail, *not* normal cron jobs). The side effects were usually not noticed, but it tripped up postfix which did a sanity check to see that stdin/out/err were open, and got EBADF even thought the fd's were in use. I seem to recall sendmail itself has hacks to work around this problem, it had a checkfd012() function, possibly for this same problem. (Postfix has a workaround too now though..) This is a hack, not a fix. It's probably best to check and perhaps close/reopen() /dev/console if needed each time around the event loop. It would probably be useful to actually see any error messages from cron. |
||
---|---|---|
.. | ||
compat.h | ||
config.h | ||
cron.8 | ||
cron.c | ||
cron.h | ||
database.c | ||
do_command.c | ||
externs.h | ||
job.c | ||
Makefile | ||
pathnames.h | ||
popen.c | ||
user.c |