Ok I understand better
Will brainstom on a way to respect multithreaded access to stateset


robertosfield wrote:
> Hi Julian,
> 
> I'm afraid this doesn't change the thread safety issue.  Having a
> child being sorted in it's parent container by a value in that child
> is only really safe if that value is invariant.  As soon as break this
> then not only does the local operations to the child state need to be
> done in a thread safe way but you also pull the parent into the mix so
> not changes are now required to the parent which widens out the scope
> of data changes need to be thread safe.
> 
> I have spent way too many hours debugging threading issues like this
> to be happy to be deliberately adding new gotcha's to the mix.
> 
> Robert.
> 
> On 24 June 2016 at 10:33, Julien Valentin <> wrote:
> 
> > Hi Robert
> > You've already make objection about propertization of Index in 
> > BufferIndexBinding ( unconst _index and add a setter): You objected that my 
> > setIndex was not thread safe
> > 
> > I would like your opinion about this body func:
> > 
> > 
> > Code:
> > 
> > void BufferIndexBinding::setIndex(GLuint index){
> > 
> > StateSet**parents=new StateSet* [getNumParents()];
> > StateAttribute::GLModeValue *parentmodes =new StateAttribute::GLModeValue  
> > [getNumParents()];
> > unsigned int numparent=getNumParents();
> > for(unsigned int i=0;i<numparent;i++)
> > {
> > parents[i]=getParent(i);
> > parentmodes[i]=parents[i]->getAttributeList().find(getTypeMemberPair())->second.second;
> > }
> > 
> > ref_ptr<StateAttribute> dummy=this;
> > 
> > for(unsigned int i=0;i<numparent;i++)parents[i]->removeAttribute(this);
> > 
> > _index=index;
> > 
> > for(unsigned int i=0;i<numparent;i++)
> > parents[i]->setAttributeAndModes(this,  parentmodes[i]);
> > 
> > delete [] parents;
> > delete [] parentmodes;
> > 
> > }
> > 
> > 
> > 
> > Is it still unsafe?
> > 
> > 
> > Thank you!
> > 
> > Cheers,
> > Julien
> > 
> > ------------------
> > Read this topic online here:
> > http://forum.openscenegraph.org/viewtopic.php?p=67774#67774
> > 
> > 
> > 
> > 
> > 
> > _______________________________________________
> > osg-submissions mailing list
> > 
> > http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org
> > 
> _______________________________________________
> osg-submissions mailing list
> 
> http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org
> 
>  ------------------
> Post generated by Mail2Forum


------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=67799#67799





_______________________________________________
osg-submissions mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org

Reply via email to