Sylvain Wallez wrote:
Vadim Gritsenko wrote:

Anyways, RunnableManager's pools MUST NOT inherit any variables, IMHO. I think you meant the same.


Exactly. And my modifications ensure this CAN NOT happen, by simply suppressing the automatic inheritance of environment stack between child threads and their parent.

Ok, Good. But now there is an incompatibility - hope you mention it at least in status file.


For places where we *need* inheritance to happen such as in parallel include transformer, we now MUST use CocoonThread that does the environment stack copy, thus preserving the information needed to correctly resolve URIs in background threads. And in that case, we cannot use RunnableManager since its threads don't (and shouldn't) inherit the environement stack.

IncludeTransformer does not rely on inheritable thread locals, as it is now. It used to, though.


What's missing? :-?

The asynchronous nature of threads combined with the create-on-demand behaviour of pools.

Gotcha.

Vadim

Reply via email to