Josh Rothstein wrote:
Is there a better alternative if I am using version 1.2.0.?

Upgrade to 1.3.0-RC1? :).

You could try and backport Frederic's patch:
https://savannah.nongnu.org/task/?func=detailitem&item_id=7421

Otherwise there's what I said in my first paragraph.

Although it's occurred to me, is this TCP or UDP? If it's TCP you should instead be tuning the value of the receiver TCP window (TCP_WND). This is already pretty low at 2k by default, but I guess you might have increased it by accident. You can only increase it if you can be sure you have enough memory for it! :)

Jifl

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of
Jonathan Larmour
Sent: Monday, January 21, 2008 5:26 PM
To: Mailing list for lwIP users
Cc: 'Campanella, David'; 'John Zigrang'
Subject: Re: [lwip-users] Data waiting but no recv()

Josh Rothstein wrote:

What is the correct way to make sure that my stack does not lock up if I am receiving unexpected data over a connection? Should I just poll() each time around the loop? I cannot just place extra recv()s around the loop or else my task will block if no data is waiting.


Theoretically, you can do it in a different task, use select() to wait for multiple sockets when you would be blocked waiting for input anyway and/or use non-blocking sockets if you were going to be doing a busy poll anyway.

But the more efficient choice is to enable the LWIP_SO_RCVBUF option in lwipopts.h and use setsockopt() to set it.

Jifl


--
eCosCentric Limited      http://www.eCosCentric.com/     The eCos experts
Barnwell House, Barnwell Drive, Cambridge, UK.       Tel: +44 1223 245571
Registered in England and Wales: Reg No 4422071.
------["The best things in life aren't things."]------      Opinions==mine


_______________________________________________
lwip-users mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/lwip-users

Reply via email to