Date: Mon, 30 Oct 2000 12:28:06 -0800 (PST)
From: Jeff Mayzurk <[EMAIL PROTECTED]>
The pipe works fine for small distribution lists, but I'm getting consistent
blocking after writing about 10KB of addresses (around 400 recipients) to the
pipe. qmail-queue is blocked in read() and my returns EAGAIN indefinitely on
write(), or blocks indefinitely without O_NONBLOCK set.
You need two pipes to send information to qmail-queue. In which order
are you writing and closing them?
qmail-queue reads the mail message first from descriptor 0--it reads
all data until the pipe is closed. Then it reads the address
information from descriptor 1. The error you are describing is
exactly what would happen if you write more than PIPE_BUF bytes (often
10240) to descriptor 1 before you close descriptor 0 after writing the
message to it.
Ian