]> OCCT Git - occt-copy.git/commitdiff
0031944: Foundation Classes - mutex for message level
authornds <nds@opencascade.com>
Sat, 31 Oct 2020 19:58:22 +0000 (22:58 +0300)
committernds <nds@opencascade.com>
Thu, 19 Nov 2020 13:16:51 +0000 (16:16 +0300)
(cherry picked from commit 0f07a04a85dedd375a5383f3cb0031c0a6d6b329)
(cherry picked from commit 1bd8dfa582a6181fea24dae206fa90745140d595)

src/Message/Message_Report.cxx

index 7a58017722851c6d80f65197488b82af36d674b8..9edb2c6a4d99277898020aba1b3d6698351bb4ff 100644 (file)
@@ -185,6 +185,8 @@ void Message_Report::UpdateActiveInMessenger (const Handle(Message_Messenger)& t
 //=======================================================================
 void Message_Report::AddLevel (Message_Level* theLevel, const TCollection_AsciiString& theName)
 {
+  Standard_Mutex::Sentry aSentry (myMutex);
+
   myAlertLevels.Append (theLevel);
 
   Handle(Message_AlertExtended) aLevelRootAlert = new Message_AlertExtended();
@@ -220,6 +222,8 @@ void Message_Report::AddLevel (Message_Level* theLevel, const TCollection_AsciiS
 
 void Message_Report::RemoveLevel (Message_Level* theLevel)
 {
+  Standard_Mutex::Sentry aSentry (myMutex);
+
   for (int aLevelIndex = myAlertLevels.Size(); aLevelIndex >= 1; aLevelIndex--)
   {
     Message_Level* aLevel = myAlertLevels.Value (aLevelIndex);
@@ -247,6 +251,8 @@ void Message_Report::Clear()
     return;
   }
 
+  Standard_Mutex::Sentry aSentry (myMutex);
+
   compositeAlerts()->Clear();
   myAlertLevels.Clear();
 }
@@ -262,6 +268,8 @@ void Message_Report::Clear (Message_Gravity theGravity)
     return;
   }
 
+  Standard_Mutex::Sentry aSentry (myMutex);
+
   compositeAlerts()->Clear (theGravity);
   myAlertLevels.Clear();
 }
@@ -277,6 +285,8 @@ void Message_Report::Clear (const Handle(Standard_Type)& theType)
     return;
   }
 
+  Standard_Mutex::Sentry aSentry (myMutex);
+
   compositeAlerts()->Clear (theType);
   myAlertLevels.Clear();
 }