]> SALOME platform Git repositories - modules/kernel.git/commitdiff
Salome HOME
"specific SALOME for ALLIANCES". fix pb that ALLIANCES hangs up during study saving
authoreap <eap@opencascade.com>
Mon, 27 Feb 2006 08:25:25 +0000 (08:25 +0000)
committereap <eap@opencascade.com>
Mon, 27 Feb 2006 08:25:25 +0000 (08:25 +0000)
src/SALOMEDS/SALOMEDS_StudyManager_i.cxx

index daab189000cbcf824a8850bcc329e59b6e96c4bd..730b658ce1bfd0a9d49fda5056f5f727bd5535a1 100644 (file)
@@ -802,7 +802,12 @@ void SALOMEDS_StudyManager_i::_SaveAs(const char* aUrl,
                    if(aCompSpecificSO->FindAttribute(aGeneric, "AttributeInteger")) {
                      anInteger = SALOMEDS::AttributeInteger::_narrow(aGeneric);
                      anInteger->SetValue(-1);
-                     while(anInteger->Value() < 0) { sleep(2); if(++aTimeOut > AUTO_SAVE_TIME_OUT_IN_SECONDS) break; }
+                     while(anInteger->Value() < 0) {
+                        SALOMEDS::unlock();
+                        sleep(2);
+                        SALOMEDS::lock();
+                        if(++aTimeOut > AUTO_SAVE_TIME_OUT_IN_SECONDS) break;
+                      }
                    }  // if(aCompSpecificSO->FindAttribute(anInteger, "AttributeInteger"))
                  }  // if(!CORBA::is_nil(aCompSpecificSO)) 
                }  // if (strcmp(aRow[0], componentDataType) == 0)