> > > Hm, while playing with setting SO_SNDBUF through setsockopt() I noticed
> > > this behavior: if SO_SNDBUF is set low (I was trying 128) then select()
> > > won't ever show the socket as available for writing.
> >
> > We handle our send/receive buffers as including header sizes (ie sk_buff
> > struct overhead) and the like. That means setting ultra low values won't
> > work nicely for all sorts of pathalogical cases.
>
> For cases like this, why not have setsockopt() return -EINVAL. Breaking
> the code there is better than a infite block.
>
Or reset the buffer size to a larger size? Currently if you set sndbuf <
256 it gets reset to 256; if the network code behaves badly at this size,
why not raise it to 4096 (or whatever...) ?
Oliver
-- "C makes it easy to shoot yourself in the foot. C++ makes it harder, but when you do, it blows away your whole leg."-- Bjarne Stroustrup on C++