|
From: | Michael Williamson |
Subject: | [lwip-users] tcp_connect() trying to insert pcb into tcp_active_pcbs (it's already there!) |
Date: | Mon, 16 Oct 2006 15:50:06 -0400 |
User-agent: | Thunderbird 1.5.0.7 (Windows/20060909) |
Hi,I've been using LWIP for a while now (a port to the TI'6711) and have been bumping into an odd problem where the TCP_REG() macro is trying to stuff a pcb onto the tcp_active_pcbs list, but the pcb it's working with is already on the list. The list gets corrupted at this point and the tcp_tmr() thread gets locked in an infinite loop. The TCP_REG in question is in the tcp_connect() call in tcp.c.
We are using the sockets api, and the test case basically has a client thread periodically trying to connect to a server socket on a box that isn't on the network.
I suspect that the problem may ultimately be a client software bug (using an invalid socket or not cleaning up properly?), but was wondering if anyone out there has seen this behavior? As far as I can tell, the only way to get into this mode is if we were trying to connect an already in-use socket... bad, but shouldn't result in death-of-a-stack...
-Mike
michael.williamson.vcf
Description: Vcard
[Prev in Thread] | Current Thread | [Next in Thread] |