Paul Jakma wrote:

On Thu, 4 Jan 2007, Brian Utterback wrote:

Hence my comment about this always being a possibility. But this is a common technique that is perfectly safe in any other situation.


Define safe. ;)

The application is making an assumption about the details of how the system buffers, based on which it "deduces" (it thinks, but really it's guessing, badly) the future behaviour of the writer.

How can that be safe?


If one were to use the socket option SO_RCVBUF, there is an
expectation that the system will at some point fill that buffer
if there is enough data written before I do a read.  In some
situations where the system is running low on buffers, it may
take longer than others to eventuate.

Whether or not this is perfect, is beside the point - it's all
we have.  Aside from this corner case with TCP fused sockets,
it also appears to work well - *everywhere*.

The imposition of an arbitrary wait condition here by Solaris
is not in keeping with expected behaviour.  I'd also venture
to say that it is counterintuitive for programmers and
arguably not something they should ever have to contend with.

Darren

_______________________________________________
networking-discuss mailing list
[email protected]

Reply via email to