Sylvain Wallez wrote:

> So IMO, we should change the way environment inheritance between threads 
> is managed:
> - if a child thread runs in the scope of its parent, then a special 
> CocoonThread class (extends Thread) should be used, which will copy the 
> needed environment data before launching its Runnable.
> - normal threads created with "new Thread()" inherit nothing and can 
> therefore work in a clean environment.
> 
> This approach requires two changes in the 2.1 code base (haven't checked 
> 2.2 yet):
> - DefaultIncludeCacheManager.load() in o.a.c.transformation.helpers
> - maybe PortalManagerImpl.loadCoplet() in o.a.c.webapps.portal.components
> 
> In these two places, the CocoonThread proposed above have to be used to 
> inherit the parent environment. In all other places where "new Thread()" 
> is called, inheriting the parent environment is not needed and worse, 
> can be harmful.
> 
Looks ok for me; I always thought that we should create our own thread
class, but never had time... ;)

Carsten

-- 
Carsten Ziegeler - Open Source Group, S&N AG
http://www.s-und-n.de
http://www.osoco.org/weblogs/rael/

Reply via email to