From deef4f37f49ce32ef3039255479cc8f2e922429c Mon Sep 17 00:00:00 2001 From: nds Date: Sat, 31 Oct 2020 22:58:22 +0300 Subject: [PATCH] 0031944: Foundation Classes - mutex for message level (cherry picked from commit 0f07a04a85dedd375a5383f3cb0031c0a6d6b329) (cherry picked from commit 1bd8dfa582a6181fea24dae206fa90745140d595) --- src/Message/Message_Report.cxx | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/Message/Message_Report.cxx b/src/Message/Message_Report.cxx index 7a58017722..9edb2c6a4d 100644 --- a/src/Message/Message_Report.cxx +++ b/src/Message/Message_Report.cxx @@ -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(); } -- 2.39.5