> After looking carefully, the interpreter must be SingleThreaded, even if
> thread safe...
>
> This is because although an intepreter can handle concurrent requests,
> each sitemap must have a different instance, since the interpreter holds
> the scripts defined in a <map:flow> statement.
>
> So if the interpreter is made ThreadSafe, a unique instance will exist
> for the whole system, and will mix all script definitions and script
> global variables. Making it SingleThreaded ensures each sitemap will
> have its own instance. It seems hacky, but I don't see what other means
> we have to achieve this...
without looking at the code: couldn't we pass the script definition on
each call?
--
Torsten
|