|
From: | David Haas |
Subject: | Re: [lwip-users] upgrade to 0.6.2 |
Date: | Fri, 02 May 2003 15:10:30 -0400 |
User-agent: | Mozilla/5.0 (Windows; U; Win98; en-US; rv:1.4a) Gecko/20030401 |
Hi Ed, Ed Sutter wrote:
In sys_arch.c... sys_arch_mbox_fetch() and sys_arch_sem_wait() have a slightlydifferent return values than in previous releases. In ethernetif.c... make sure that netif->hwaddr_len is initialized to 6 In sys_arch.txt... just read this and follow the instructions.
This sounds about right.
This should be the way it works. I'm not quite sure why it would'nt work. I'm using a version very similar to 0.6.2, since I stopped upgrading about then and it has been very very stable. I am also using several TCP and UDP servers. I have not seen a problem with hanging connections (although I had seen some issues before 0.6.2).In my system I have three TCP servers and two UDP servers and with the older version of LWIP I had no known problems. With the latest version integrated into my system, I now notice that quite frequently when my TCP server is blocked on lwip_recv() it does not consistently detect the fact that the other end (the client) has closed the connection.I had been assuming that a return value of <= 0 from lwip_recv() was a reasonable indication that the other end had closed the connection. Is this wrong, or can anyone think of anything else that I need to do to transition to 0.6.2?
Just for the heck of it, I just checked the thread priorities in my code and some of my servers are running at higher priorities than TCP thread and some are running at lower priorities. I actually have'nt tuned my system very well yet. But at any rate, priorities did not seem to make a difference for me.
Take a look at the PCB and see what the state is. David
[Prev in Thread] | Current Thread | [Next in Thread] |