|
From: | Yoav Nissim |
Subject: | Re: [lwip-users] Socket read/write and threads |
Date: | Tue, 12 Jan 2010 11:57:10 +0200 |
User-agent: | Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.5) Gecko/20091204 Thunderbird/3.0 |
select() should not block on write_fds for long, so I would agree that
something is not working properly. That said, you do have to make sure that your output buffers are large enough to take the screen updates you expect the system to maintain. The porting and IF init code is the best place to start. AFAIK: 1. The call from your Rx thread should not call ethernetif_input() directly. It should call netif->input() - which in turn is initialized to tcpip_input() when you call netif_add(). 2. Your output logic seems OK. 3. All input and output should be called from within the TCPIP thread. Therefore actual input and output operations do not occur simultaneously. Only queueing of operations occurs simultaneously. 4. The call to the your if_init/netif_add function should be done from within TCPIP's thread context (using the callback given to tcpip_init()) Nicolas, please post your initialization code - the call to netif_add(), who calls it, and your interface initialization function (the 6th parameter in the netif_add() API) Yoav. p.s All of my comments are based on my experience with lwIP which is by no means complete. I defer all my remarks to Simon, Kieran, et al... On 12/01/10 10:31 AM, Nicolas Pinault wrote:
-- Yoav Nissim Software Engineer, Software Tools Division Jungo Software Technologies Email: address@hidden Web: http://www.jungo.com Phone: +972-74-7212138 Fax: +972-74-7212122 Mobile: +972-54-2271315 |
[Prev in Thread] | Current Thread | [Next in Thread] |