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/