|
From: | Jonathan Larmour |
Subject: | Re: [lwip-users] recv function BLOCK because recv_mbox is full: can yougive me a solution? |
Date: | Sun, 09 Mar 2008 00:19:50 +0000 |
User-agent: | Mozilla Thunderbird 1.0.8-1.1.fc3.4.legacy (X11/20060515) |
Bikram Chatterjee wrote:
Consider in your case, if your driver produces 9 packets (8 is the max size of all mailboxes) in time, in which application can consume only one packet. The following scenario occurs: 1. After consuming one buffer-full application goes for the second time. 2. By that time driver have already posted 8 messages in mbox and blocking for 9th packet. 3. Application can not post anymore callbacks in mbox as it is already full and waiting on mbox. 4. tcpip_thread has already posted 8 messages into recvmbox and has 9th message in hand from driver to post in recvmbox and blocked.
Was this with an older version of lwIP? Current lwIP (i.e. 1.3.0rc1 and CVS) uses sys_mbox_trypost to post to the recvmbox so the tcpip thread should never block doing this.
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
[Prev in Thread] | Current Thread | [Next in Thread] |