This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: memory leak in res_nsend()
On Mon, Oct 24, 2005 at 09:45:42PM +0400, Antony Dovgal wrote:
> On 24.10.2005 21:14, Daniel Jacobowitz wrote:
> >On Mon, Oct 24, 2005 at 02:28:03PM +0400, Antony Dovgal wrote:
> >>But res_nclose() doesn't free those segments.
> >>That's what I've found in res_thread_freeres () function
> >>(resolv/res_init.c):
> >
> >Well, when you're running under valgrind, the freeres functions are
> >supposed to be called - for exactly this reason.
>
> Could you please elaborate: why should valgrind call something?
> *I'm* calling res_nsend() and I suppose valgrind shouldn't call anything to
> free resources allocated by the user function calls.
> Am I wrong?
Partly. valgrind frees things that would ordinarily be freed by
exit(), so that it can detect leaks better.
If it's doing that and still reporting a leak, then perhaps it should
be calling __libc_thread_freeres in still-alive threads at exit.
--
Daniel Jacobowitz
CodeSourcery, LLC