From: lottaviano Date: Fri, 22 Apr 2011 11:13:48 +0000 (+0000) Subject: Fix lwIP retransmission problems. X-Git-Tag: 2.7.0~98 X-Git-Url: https://codewiz.org/gitweb?a=commitdiff_plain;h=aad0940444f8fb8d6adb237ccf18dd74f9342507;p=bertos.git Fix lwIP retransmission problems. 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 --- diff --git a/bertos/net/lwip/src/arch/sys_arch.c b/bertos/net/lwip/src/arch/sys_arch.c index 4ef9d08c..d626f0cf 100644 --- a/bertos/net/lwip/src/arch/sys_arch.c +++ b/bertos/net/lwip/src/arch/sys_arch.c @@ -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; }