From: asv Date: Fri, 29 Apr 2005 11:17:32 +0000 (+0000) Subject: Fix for bug PAL8727. X-Git-Tag: T2_2_4a~18 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=5501b20ee39ac40d77638bb679f14d964ee48750;p=modules%2Fkernel.git Fix for bug PAL8727. In method _SaveAs() (called from Save(), SaveAs(), SaveAscii(), SaveAsAscii()) there was a double call to SALOMEDS::lock() from different threads. The first call was in Save(), and the second - was in some Engine::Save(). The fix consists in calling to unlock() BEFORE calling Engine::Save() and lock() again - after the call. --- diff --git a/src/SALOMEDS/SALOMEDS_StudyManager_i.cxx b/src/SALOMEDS/SALOMEDS_StudyManager_i.cxx index d0464d63f..3c2ae551b 100644 --- a/src/SALOMEDS/SALOMEDS_StudyManager_i.cxx +++ b/src/SALOMEDS/SALOMEDS_StudyManager_i.cxx @@ -831,10 +831,12 @@ void SALOMEDS_StudyManager_i::_SaveAs(const char* aUrl, SALOMEDS::TMPFile_var aStream; + SALOMEDS::unlock(); // asv : fix for PAL8727 if(theASCII) aStream = Engine->SaveASCII(sco,SALOMEDS_Tool::GetDirFromPath(aUrl).c_str(),theMultiFile); else aStream = Engine->Save(sco,SALOMEDS_Tool::GetDirFromPath(aUrl).c_str(),theMultiFile); + SALOMEDS::lock(); // asv : fix for PAL8727 HDFdataset *hdf_dataset; hdf_size aHDFSize[1];