Re: [xslt] Re: xslt digest, Vol 1 #67 - 6 msgs



 >>  Oh, one more thing I forgot about writing apache modules. In the
 >> apache 1.3.x model, the server forks so ther is no need to have a MT
 >> safe lib. I think that with apache 2.0 we'll face troubles if libxml2
 >> and libxslt are not thread safe.  Especially on Solaris (I don't know
 >> for others) this implies to compile with the -D_REENTRANT flag. So it
 >> would be good to add a configure option, eg --solaris-reentrant.
 >
 >there is also a need to remove any global variables, and at the moment
 >there are quite a few.

At the moment, I'm using libxml2/libxslt (always the latest 'stable'
release, not CVS) in a multi-threaded production environment (using an
inhouse developer threads-library, not pthreads or the like) without much
problems.

Most global variables are set once (as far as I can tell), usually at
initialization, so you can either initialize while not yet multi-threaded,
or initialize (once) from a mutex-protected piece of code (which is what I
do).

 >one of the things i wanted to investigate, but the code dependencies ran
 >too deep, was to be able to pass in a different set of memory-routines,
 >and string-handling (apr_memsys_xxx and apr_iconv spring to mind). that
 >would make a _truly_ powerful set of libraries.

Memory-allocation and file-I/O can be hooked using callbacks. Check out
xmlMemSetup(), xmlRegister{In,Out}putCallbacks(), xmlSetGenericErrorFunc(),
xsltSetGenericErrorFunc(), ...

                                                                     robert




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