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
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;
}