[ARM7] 关于LWIP的问题,大神进

[复制链接]
3242|15
 楼主| wangxubo1988 发表于 2013-8-6 10:02 | 显示全部楼层 |阅读模式
lwip tcp_active_pcbs这个结构的next指针指向了自己,是怎么回事?
 楼主| wangxubo1988 发表于 2013-8-6 13:00 | 显示全部楼层
有人知道么~~~
mybao 发表于 2013-8-6 21:50 | 显示全部楼层
该链表只有一个节点,逻辑没什么问题
 楼主| wangxubo1988 发表于 2013-8-7 08:05 | 显示全部楼层
mybao 发表于 2013-8-6 21:50
该链表只有一个节点,逻辑没什么问题

只有一个节点 但是 会 造成tcp_input函数中 for(pcb = tcp_active_pcbs; pcb != NULL; pcb = pcb->next)
这句 的死循环,正常来说 应该能够指向NULL
dirtwillfly 发表于 2013-8-7 21:53 | 显示全部楼层
执行到这句就会死机,对不对?
 楼主| wangxubo1988 发表于 2013-8-8 09:37 | 显示全部楼层
dirtwillfly 发表于 2013-8-7 21:53
执行到这句就会死机,对不对?

对的。。。。因为是死循环了,似乎 建立一次远端连接没有成功后,关闭再开的时候,连接成功后,再开另外一个远端连接 就会出现这样的问题。真是见鬼了。是啥问题呢
dirtwillfly 发表于 2013-8-9 10:25 | 显示全部楼层
wangxubo1988 发表于 2013-8-8 09:37
对的。。。。因为是死循环了,似乎 建立一次远端连接没有成功后,关闭再开的时候,连接成功后,再开另外 ...

这个版本的程序就有这个问题
 楼主| wangxubo1988 发表于 2013-8-12 13:59 | 显示全部楼层
dirtwillfly 发表于 2013-8-9 10:25
这个版本的程序就有这个问题

可能版本上 是会有这个问题。。。不过现在发现 是因为没有连接上的tcb结构 不用close会自动释放的原因
dirtwillfly 发表于 2013-8-12 14:02 | 显示全部楼层
wangxubo1988 发表于 2013-8-12 13:59
可能版本上 是会有这个问题。。。不过现在发现 是因为没有连接上的tcb结构 不用close会自动释放的原因 ...

厉害,
huael 发表于 2013-10-29 15:24 | 显示全部楼层
您好,wangxubo1988 !
上次那个tcp_input函数中 for(pcb = tcp_active_pcbs; pcb != NULL; pcb = pcb->next)
这句 的死循环,后来是如何解决的?
现在我也遇到这种情况,请指导1
huael 发表于 2013-10-29 15:27 | 显示全部楼层
如果有答案的话请麻烦发个邮件给我,huaelywj@163.com,谢谢!
zzfei90 发表于 2014-1-10 13:47 | 显示全部楼层
LZ 给个答案好不?你一个答案能帮好多人滴...
zzfei90 发表于 2014-1-10 13:47 | 显示全部楼层
huael 发表于 2013-10-29 15:24
您好,wangxubo1988 !
上次那个tcp_input函数中 for(pcb = tcp_active_pcbs; pcb != NULL; pcb = pcb->nex ...

老兄,有答案没呢?有了说一声,谢谢了!
369910851 发表于 2017-2-24 10:19 | 显示全部楼层
@dirtwillfly 你好,请问你知道LWIP协议栈中,程序死在 for(pcb=tcp_active_pcbs;pub!=NULL;pcb=pcb->next) 这个循环,是什么原因造成的吗,然后要怎么解决
369910851 发表于 2017-2-24 10:21 | 显示全部楼层
@dirtwillfly 因为是移植过来的程序,所以对这个的原理并不是很理解,请求帮助
369910851 发表于 2017-2-24 10:22 | 显示全部楼层
不能发消息,只能这样处理了,然后使用的STM32F207的芯片,通过网线和电脑直连,就没有遇到这个问题,但是通过路由器就会遇到这个死循环。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

5

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部