This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
RE: problems with MBUFs (TCP/IP stack)
- To: Marco Monguzzi <marco at sitek dot it>
- Subject: RE: [ECOS] problems with MBUFs (TCP/IP stack)
- From: Gary Thomas <gthomas at redhat dot com>
- Date: Mon, 10 Jul 2000 11:41:33 -0600 (MDT)
- Cc: ecos-discuss at sourceware dot cygnus dot com, Grant Edwards <grante at visi dot com>
On 10-Jul-2000 Marco Monguzzi wrote:
>> I've set up a test script that starts and stops my host-end
>> application, and so far have about 500 TCP/IP open/close cycles
>> without problems. I haven't been printing MBUF counters, but I
>> haven't seen any panics or anything else odd. After I let this
>> run for a while longer, I might have to try it with the program
>> from the test suite.
>
> I would appreciate whether you could provide me with you test programs.
> I will try them on my target. A bit more on the behavior we observe with
> server_test.c: we found that the problem is in the "close connection
> sequence"
> (close(client); Line 128). One MBUF remains allocated because not all the
> needed
> "free functions" are called. In detail, close() does not call tcp_close().
> The latter should call the free() for the tcp_template that we think remains
> allocated.
>
Are you sure about this? The 'close(client)' call should end up calling
"socket_close()" which in turn calls "tcp_close()". Have you tried tracing
through this, e.g. using GDB, to see what happens when you call 'close(client)'?