[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [Libvir] Fix handling of config files with duplicate named guests



On Tue, Dec 19, 2006 at 04:35:00PM -0500, Daniel Veillard wrote:
> On Tue, Dec 19, 2006 at 07:26:26PM +0000, Daniel P. Berrange wrote:
> > On Tue, Dec 19, 2006 at 02:05:32PM -0500, Daniel Veillard wrote:
> > > > +        value = malloc(sizeof(virConfValue));
> > > > +        value->str = strdup(filename);
> > > > +            free(value);
> > > > +            return (-1);
> > > 
> > >   This makes me think about an idea I had to swicth all allocations in
> > > libvirt to reuse xmlMalloc/xmlFree/xmlStrdup . The reasons are the following:
> > >    - libxml2 is a mandatory module
> > >    - libxml2 memory debug allow to track easilly memory allocations
> > >      and check we never leak, this can be really useful
> > >    - libxml2 memory routines can also be overiden by the library client
> > >      to use a different allocator which in some circumstances can be really
> > >      useful
> > > 
> > > My prime motivation is debug but reuse of libxml2 facilities is not neglectible.
> > 
> > Sounds reasonble. I'm not familiar with libxml2 debug stuff though - does
> > it give more info that we can get from valgrind ?
> 
>   Frankly no, but there isn't the same cost penalty. Also one can track 
> a given piece of memory, for example under gdb. Documentation at:
>     http://xmlsoft.org/xmlmem.html


Actually there is one very useful usecase - multi threading. Valgrind is
not multi-threaded at all - it more or less just runs each thread in turn
for a few instructions before switching to next thread & so on.

Dan.
-- 
|=- Red Hat, Engineering, Emerging Technologies, Boston.  +1 978 392 2496 -=|
|=-           Perl modules: http://search.cpan.org/~danberr/              -=|
|=-               Projects: http://freshmeat.net/~danielpb/               -=|
|=-  GnuPG: 7D3B9505   F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505  -=| 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]