[Serdev] TCP problems
Nils Ohlmeier
nils at iptel.org
Fri Jan 12 11:12:19 UTC 2007
On Friday 12 January 2007 11:01, Klaus Darilion wrote:
> Yes, I've seen this problem too. Somehow we get a deadlock. the
> application's don't read anymore as they are blocked during sending.
>
> Not sure if the problem is in ser, sipp or in both applications - I
> could not find a solution. Maybe you have more luck.
>
> Nevertheless it shows that an application must be programmed in a
> non-blocking way.
Sorry just for my own understanding: how should non-blocking sending solves
this problem?
If the application sends in a non-blocking way and the OS can't send the data
over the link as fast as the application is trying to send, the OS have to
store the data in some kernel internal buffer, right?
So what happens if this internal buffer is full? I guess the OS would either
give an error back to the application or would block the application until
the internal buffer has enough space to take the new data.
So to me it seems like sending in a non-blocking way only increases the delay
until the application "recognizes" the problem (except the link somehow
speeds up in the meantime and the internal buffer is freed - then the buffer
would bypass the short "outage" of the link - but we are not talking here
about short "outages" of links).
Maybe I'm overlooking here something
Nils
More information about the Serdev
mailing list