[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