mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-14 13:30:48 +03:00
0031921: Application Framework - reading OCAF data from several threads is not possible
Make myLastFoundChild field of TDF_LabelNode that can be changed during accessing to different sub-labels in different threads as atomic (only for newer versions of compilers which support this "atomic"). Added definition of Standard_ATOMIC macro to the Standard_Macro.hxx
This commit is contained in:
@@ -22,6 +22,10 @@
|
||||
#include <TDF_HAllocator.hxx>
|
||||
#include <NCollection_DefineAlloc.hxx>
|
||||
|
||||
#ifdef Standard_HASATOMIC
|
||||
#include <atomic>
|
||||
#endif
|
||||
|
||||
class TDF_Attribute;
|
||||
class TDF_AttributeIterator;
|
||||
class TDF_ChildIterator;
|
||||
@@ -160,15 +164,15 @@ class TDF_LabelNode {
|
||||
// Private Fields
|
||||
// --------------------------------------------------------------------------
|
||||
|
||||
TDF_LabelNodePtr myFather;
|
||||
TDF_LabelNodePtr myBrother;
|
||||
TDF_LabelNodePtr myFirstChild;
|
||||
TDF_LabelNodePtr myLastFoundChild; //jfa 10.01.2003
|
||||
Standard_Integer myTag;
|
||||
Standard_Integer myFlags; // Flags & Depth
|
||||
Handle(TDF_Attribute) myFirstAttribute;
|
||||
TDF_LabelNodePtr myFather;
|
||||
TDF_LabelNodePtr myBrother;
|
||||
TDF_LabelNodePtr myFirstChild;
|
||||
Standard_ATOMIC(TDF_LabelNodePtr) myLastFoundChild; //jfa 10.01.2003
|
||||
Standard_Integer myTag;
|
||||
Standard_Integer myFlags; // Flags & Depth
|
||||
Handle(TDF_Attribute) myFirstAttribute;
|
||||
#ifdef KEEP_LOCAL_ROOT
|
||||
TDF_Data * myData;
|
||||
TDF_Data * myData;
|
||||
#endif
|
||||
#ifdef OCCT_DEBUG
|
||||
TCollection_AsciiString myDebugEntry;
|
||||
|
Reference in New Issue
Block a user