On Mon, Jun 16, 2008 at 09:16:20AM -0700, mt2 wrote: > I implemented the changes you recommended and it works; everything > seems to be in order now. I've implemented the same situation with > plain xmlInitParser() and didn't see that "still reachable" data, > which is the only reason I posted here. Now that I know that is > "per-thread data", it makes a lot more sense. Valgrind doesn't > complain anymore either, so my life is a lot happier. Thank you for > your help and information.
okay, > Daniel, thank you, too, for your help. I put the offending code in a > loop as you suggested, and when compiled against libxml with memory > debug, all turns out well. Thank you for that hint. If I need help > again, I will make to sure to do that; this is still a learning > process for me. The example I posted is exactly the same as my own > code, but I figured it would be best, though, if you didn't have to > scroll through pages of comments and such. > > Is there any more information I can read about this "per-thread data"? > I'd like to learn more. Not very glorious, basically it shouldn't exist, but the API included global variables allowing to change the library behaviour. This is a big mistake, but well it's here, and to limit the damage it's better in multithreaded applications to have per thread global variable values, so there is a module globals.c in the library implementing that. Advice, don't try to use global variables from the library, and avoid trying to make use of this 'feature'. Daniel -- Red Hat Virtualization group http://redhat.com/virtualization/ Daniel Veillard | virtualization library http://libvirt.org/ [EMAIL PROTECTED] | libxml GNOME XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/ _______________________________________________ xml mailing list, project page http://xmlsoft.org/ [email protected] http://mail.gnome.org/mailman/listinfo/xml
