[uClibc]Re: file descriptor (socket) leakage

Tomislav Sajdl tomislav.sajdl at communitymesh.com
Wed May 28 14:00:15 UTC 2003


On Tuesday 27 May 2003 21:22, Erik Andersen wrote:
> On Tue May 27, 2003 at 04:00:02PM +0200, Tomislav Sajdl wrote:
> > I have a system with embedded linux (uclibc 0.9.16, kernel 2.4.20) and I
> > run freeswan on it (1.99). Problem is that freeswan ends up with 1024
> > open sockets, which makes it to stop working [although it is still
> > running]. What do you think, what may be the source of the problem?
> >
> > I have a reaseon to believe that socket stays unclosed every time whet it
> > is open toward interface of the system itself (no matter you call
> > close()), but I cannot say for sure.
> >
> > Does anyone have the similar problem? I doubt on uclibc as a source of
> > the problems.
>
> Could you try again with uClibc 0.9.19?
>
>  -Erik

Yes, I tried, and I get the same behavior. Problem is with both with freeswan 
and one application that we use. I cannot say for sure for freeswan what is 
going on, but in that our application, we *do not open* any socket, and they 
appear ?!? Only thing we do is that we send some data using special socket:

We have one open socket:

fd = socket(PF_NETLINK, SOCK_RAW, NETLINK_FIREWALL);

and then we send data using sendmsg() call.

It seems to me, although I cannot be sure, that this sendmsg() creates new 
sockets. Freeswan does not have any sendmsg() call, as I was able to see, but 
it uses some SOCK_RAW socket also.

Is there any problem with SOCK_RAW sockets?

Is there any uclibc code for these system calls, or they are simply passed to 
the kernel?

Tomislav



More information about the uClibc mailing list