On Sat, Jul 01, 2006 at 04:30:11PM -0600, Brent Smith wrote: > Hi, > > Shaun McCance and myself have been looking at ways to cancel a long > running xsltApplyStylesheet() call. We want it to be possible for the > user to cancel an operation if it is taking too long in Yelp[1] (GNOME's > help browser). > > Shaun has found that setting the xsltTransformContext->state = > XML_STATE_STOPPED in the extension element function, the > xsltApplyStylesheet() call then returns immediately (after the ext. > element function returns). > > My question is, if we cancel the process in this way, is the > transformContext and result document in a consistent state where we can > just call xsltFreeTransformContext() and xmlFreeDoc() and not leak large > amounts of memory?
yes, that should be fine, the processor when detecting that state will stop processing further templates, and the processing will gracefully pop up all template contexts. If you experience leaks there (assuming you freed up all resources when done) then that means there is a bug, but this really should not happen. Daniel -- Daniel Veillard | Red Hat http://redhat.com/ [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
