Ignore:
Timestamp:
11/24/06 22:04:09 (6 years ago)
Author:
sys
Message:

bug multi-threading

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Jav_CO/com/scenari/m/co/univers/WUniversHandle.java

    r7427 r7512  
    145145                throw HLogMgr.hNewException("L'univers '" + fUniversCode + "' a été supprimé."); 
    146146            } else if (fEtat == ETAT_ECHEC) { 
    147                 if (fTimeStamp < (System.currentTimeMillis() - 10000)) { 
    148                     //10 seciondes écoulées, on tente de recharger 
     147                if (fTimeStamp < (System.currentTimeMillis() - 3000)) { 
     148                    //3 seciondes écoulées, on tente de recharger 
    149149                    fEtat = ETAT_UNLOADED; 
    150150                    wReinit(); 
     
    361361 
    362362        //On attend que les derniers traitements s'achèvent. 
    363         if (sTimeToUpdate > 0) { 
    364             Thread.sleep(sTimeToUpdate); 
    365         } 
     363        if (sTimeToUpdate > 0) Thread.sleep(sTimeToUpdate); 
    366364 
    367365        //On supprime cet univers avant d'en créer un nouveau 
    368         fUnivers.wRemove(); 
     366        if(fUnivers != null) fUnivers.wRemove(); 
    369367 
    370368        //On commence le rechargement du nouvel univers 
     
    377375     */ 
    378376    synchronized void wUnloadUnivers() throws Exception { 
    379  
    380         //Time stamp du nouvel état 
    381         fTimeStamp = System.currentTimeMillis(); 
    382  
    383         //On fixe le nouvel état 
    384         fEtat = ETAT_UNLOADING; 
    385  
    386         //On attend que les derniers traitements s'achèvent. 
    387         Thread.sleep(sTimeToUpdate); 
    388  
    389         //On prévient du unload 
    390         fUnivers.wUnload(); 
    391  
    392         //On désactive l'univers 
    393         fUnivers = null; 
    394  
    395         //Time stamp du nouvel état 
    396         fTimeStamp = System.currentTimeMillis(); 
    397  
    398         //On fixe le nouvel état 
    399         fEtat = ETAT_UNLOADED; 
     377        if(fUnivers  != null) { 
     378                //Time stamp du nouvel état 
     379                fTimeStamp = System.currentTimeMillis(); 
     380         
     381                //On fixe le nouvel état 
     382                fEtat = ETAT_UNLOADING; 
     383         
     384                //On attend que les derniers traitements s'achèvent. 
     385                if (sTimeToUpdate > 0) Thread.sleep(sTimeToUpdate); 
     386         
     387                //On prévient du unload 
     388                fUnivers.wUnload(); 
     389         
     390                //On désactive l'univers 
     391                fUnivers = null; 
     392         
     393                //Time stamp du nouvel état 
     394                fTimeStamp = System.currentTimeMillis(); 
     395         
     396                //On fixe le nouvel état 
     397                fEtat = ETAT_UNLOADED; 
     398        } 
    400399    } 
    401400} 
Note: See TracChangeset for help on using the changeset viewer.