It wasn't so much the blocking I was thinking of (and I confess ignorance on
this front) it was on the basis that multiple processes are writing to the
same pipe, thus a 2 byte write could get interspersed with another two byte
write by another process.
But as I say. I have not actually studied the details of the pipe arrangements
between -send and -[lr]spawn, so this may be a complete red herring.
Regards.
At 10:46 AM Saturday 4/17/99, wrote:
>Mark Delany ([EMAIL PROTECTED]) wrote:
>....
>
>: In practice I'm told that some select() implementations are buggy in this
>: regard and may simply return "writable" if a single byte will fit. I
have no
>: direct evidence of this though.
>
>I don't think this is the reason for the single byte, because
>multiple bytes -are- being passed through the pipe, though only
>the first is used for the job index (del_dochan()). At any rate,
>a block on a write will affect only qmail-?spawn, not qmail-send,
>and qmail-send will eventually unblock the pipe by reading from it.
>
>Should not be a problem making it 2 bytes instead. An alternative
>might be, if you don't feel like modifying both qmail-?spawns as
>well as qmail-send, to modify only qmail-send to run 2 (or 3 or
>more) qmail-rspawns in addition to the one lspawn.
>
>-harold
>