From: nds Date: Sat, 31 Oct 2020 19:58:22 +0000 (+0300) Subject: 0031944: Foundation Classes - mutex for message level X-Git-Url: http://git.dev.opencascade.org/gitweb/?a=commitdiff_plain;h=f16cde01b3fb3f0fad8a462cf2889f7ee4478d0f;p=occt-copy.git 0031944: Foundation Classes - mutex for message level (cherry picked from commit 0f07a04a85dedd375a5383f3cb0031c0a6d6b329) --- diff --git a/src/Message/Message_Report.cxx b/src/Message/Message_Report.cxx index 19d9b7f111..70de6b011a 100644 --- a/src/Message/Message_Report.cxx +++ b/src/Message/Message_Report.cxx @@ -188,6 +188,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(); @@ -221,6 +223,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); @@ -245,6 +249,8 @@ void Message_Report::Clear() if (compositeAlerts().IsNull()) return; + Standard_Mutex::Sentry aSentry (myMutex); + compositeAlerts()->Clear(); myAlertLevels.Clear(); } @@ -259,6 +265,8 @@ void Message_Report::Clear (Message_Gravity theGravity) if (compositeAlerts().IsNull()) return; + Standard_Mutex::Sentry aSentry (myMutex); + compositeAlerts()->Clear (theGravity); myAlertLevels.Clear(); } @@ -273,6 +281,8 @@ void Message_Report::Clear (const Handle(Standard_Type)& theType) if (compositeAlerts().IsNull()) return; + Standard_Mutex::Sentry aSentry (myMutex); + compositeAlerts()->Clear (theType); myAlertLevels.Clear(); }