[Patch] PR 31228, Fix close-on-exec race.
Andrew Haley
aph@redhat.com
Wed Mar 21 17:54:00 GMT 2007
David Daney writes:
> Tom Tromey wrote:
> >>>>>> "David" == David Daney <ddaney@avtrex.com> writes:
> >>>>>>
> >
> > David> Make the accept non-blocking, and do a select/poll on the
> > David> ServerSocket. That way the accept would never block and you could use
> > David> a mutex.
> >
> > Yeah. I hadn't thought of the accept case, thanks.
> >
> > David> This makes me think that ld.so is probably broken also. When we do
> > David> dlopen ld.so opens the library file and does several mmaps before
> > David> closing the file descriptor. These could leak out as well.
> >
> > Not to mention other places that libc may create fds.
> >
> > On some platforms fdwalk(3) can be used to make this close loop more
> > efficient. There's also closefrom(3). Linux doesn't seem to have
> > either of these, but Solaris does.
> >
> > Tom
> >
> How about this version?
This is impressively heroic, but I really think you should measure the
performance improvement before committing this. :-)
Andrew.
More information about the Java-patches
mailing list