If a module has XS code and doesn't provide a CLONE function, most likely it is not thread-safe (you can grep for CLONE). Of course those that provide the CLONE function aren't necessarily completely thread-safe. e.g. I've added CLONE only for the top level class in GTop, the rest of classes in that package are still not thread-safe. It's possible that XS module will be thread-safe w/o CLONE, it depends on what it does.
While this may be true, a comparatively small number of modules use XS.
In fact, if you like I can get hard numbers on that, as I'm writing some module-scanning tasks at the moment and a check for the use of bootstrap would probably make a nice test.
There are a lot of other issues at a perl level. Such as any feature implemented with the temporary localisation of globals.
I certainly didn't say that it was *the* test. Just something to consider. The other thread-"safety" issues include:
http://perl.apache.org/docs/2.0/user/coding/coding.html#Thread_environment_Issues
When you summarise the response, I would definitely appreciate a section on how we address and manage multiple-active-APIs-per-namespace at a CPAN-wide level, since that it would appear that feature is needed to make this mod_perl 2 idea work.
that's the main chunk of the summary.
-- __________________________________________________________________ Stas Bekman JAm_pH ------> Just Another mod_perl Hacker http://stason.org/ mod_perl Guide ---> http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
