"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

Reply via email to