Fix lwIP retransmission problems.
authorlottaviano <lottaviano@38d2e660-2303-0410-9eaa-f027e97ec537>
Fri, 22 Apr 2011 11:13:48 +0000 (11:13 +0000)
committerlottaviano <lottaviano@38d2e660-2303-0410-9eaa-f027e97ec537>
Fri, 22 Apr 2011 11:13:48 +0000 (11:13 +0000)
In some cases lost packets where never retransmitted because
timeouts where handled improperly.
This patch implements a global timeout list, which solves the
issue.
The current implementation cannot be used with preemptive kernel;
concurrency issues will be solved with lwIP v. 1.4.

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4868 38d2e660-2303-0410-9eaa-f027e97ec537

bertos/net/lwip/src/arch/sys_arch.c

index 4ef9d08ce195f787cd98b9fa929636558790fe21..d626f0cfd09933c66d6d9c9e3462808fa95dfd5d 100644 (file)
@@ -317,15 +317,6 @@ static struct sys_timeouts lwip_system_timeouts; // Default timeouts list for lw
 
 struct sys_timeouts *sys_arch_timeouts(void)
 {
-       ThreadNode *thread_node;
-       struct Process *curr_pid = proc_current();
-
-       FOREACH_NODE(thread_node, &used_thread)
-       {
-               if (thread_node->pid == curr_pid)
-                       return &(thread_node->timeout);
-       }
-
        return &lwip_system_timeouts;
 }