lib-bsd socket close issues
Sebastian Huber
sebastian.huber at embedded-brains.de
Thu Apr 4 17:23:00 UTC 2019
How do you wait. Is this a busy wait?
----- Matthew J Fletcher <amimjf at gmail.com> schrieb:
> replying to myself.
>
> With a 1 second pause between socket() and close() and 512 sockets it will
> still ENOBUFS,.. without calculating it properly thats easily 10 minutes
> since the first socket was allocated,. that must be enough time to start
> freeing the socket buffers internally.
>
>
> On Thu, 4 Apr 2019 at 16:47, Matthew J Fletcher <amimjf at gmail.com> wrote:
>
> > Hi,
> >
> > I have noticed an issue with lib-bsd that the legacy stack does not have.
> >
> > If have a loop that does
> >
> > for (;;)
> > {
> > wait(100) // milliseconds
> > socket() // allocate
> > close() // free
> > }
> >
> > then i can see the socket numbers allocated upwards, but eventually the
> > get ENOBUFS from socket(),.. allocating more sockets just delays the
> > problem occurring.
> >
> > It seems like this is some lazy freeing or complex system designed for
> > high loading systems to make close() faster, but on an embedded system its
> > malfunctioning.
> >
> > is there some lib-bsd function that can force a 'flush' to prevent this ?
> >
> > --
> >
> > regards
> > ---
> > Matthew J Fletcher
> >
> >
>
> --
>
> regards
> ---
> Matthew J Fletcher
--
Sebastian Huber, embedded brains GmbH
Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone : +49 89 189 47 41-16
Fax : +49 89 189 47 41-09
E-Mail : sebastian.huber at embedded-brains.de
PGP : Public key available on request.
Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
More information about the users
mailing list