The theory is, if select() says that you can write to a pipe then you are
guaranteed an atomic write of PIPE_BUF size which is typically at least 512
bytes (eg, on Solaris 2.6 it's 5120, on FreeBSD 2.2.8 it's 512).
So in theory, a 2 byte atomic write is fine if preceeded by an appropriate
select()
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.
Regards.
At 11:12 PM Wednesday 4/14/99, Richard Letts wrote:
>On Wed, 14 Apr 1999, Mark Delany wrote:
>
>> That's easy. The maximum for concurrencyremote is 256.
>
>I think this is mainly because the processes communicate by writing a
>single byte backwards to qmail-send. does the semantics of read&write of
>multiple-byte values mean that if I write 2 bytes into a pipe I'll always
>get 2 bytes out of the pipe in a single read?
>
>if so then one might be able to patch qmail to support 65k qmail-remotes?
>
>RjL
>