This is the mail archive of the
ecos-discuss@sourceware.org
mailing list for the eCos project.
Re: Re: accept() FreeBSD hangs when out of resources
On Mon, Jun 11, 2007 at 04:05:57PM -0800, Tad wrote:
> Andrew Lunn wrote:
> >On Mon, Jun 11, 2007 at 03:42:07PM -0800, Tad wrote:
> >
> >>>>accept() won't return and won't timeout (>12hrs) when listen()
> >>>>indicates a new connection, if out of sockets/file-descriptors and all
> >>>>TCP connections are in ESTABLISHED state.
> >>>>
> >>>Where exactly is it blocked. Please could you provide a call stack.
>
> It's possible that the block is somewhere such as this "FIXME" code that
> wasn't finished in sys/kern/sockio.c
Yes, i already looked at this code. However this code is creating a
new file descriptor. However the way eCos works is that the file
descriptor has already been allocated and is passed into the function
as a parameter. So i went back and looked at what called this function
and where is the file descriptor allocated. That code does appear to
correct handle insufficient resources.
So, i really need more information, eg the test case, or a backtrace
when the thread is blocked.
Andrew
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss