"Adam D. McKenna" <[EMAIL PROTECTED]> wrote:
>I'm still a little confused as to the exact reason that this problem
>happens... I mean, you would think mail would either get delivered or not
>get delivered.. What causes the delay?
>From INTERNALS:
When qmail-queue has successfully placed a message into the queue, it
pulls a trigger offered by qmail-send. Here is the current triggering
mechanism: lock/trigger is a named pipe. Before scanning todo/,
qmail-send opens lock/trigger O_NDELAY for reading. It then selects for
readability on lock/trigger. qmail-queue pulls the trigger by writing a
byte O_NDELAY to lock/trigger. This makes lock/trigger readable and
wakes up qmail-send. Before scanning todo/ again, qmail-send closes and
reopens lock/trigger.
So qmail-queue uses trigger to tell qmail-send there's a new message
in the queue. If the trigger is hosed, qmail-send has to discover them
itself. Apparently it doesn't check too often.
-Dave