Ignore:
Timestamp:
04/15/22 13:05:33 (2 years ago)
Author:
ymipsl
Message:

Solve deadlock or crash occuring when activate second levels of servers.

YM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/dev_ym/XIOS_COUPLING/src/context_client.cpp

    r2310 r2324  
    175175      if (isAttachedModeEnabled()) // couldBuffer is always true in attached mode 
    176176      { 
    177         while (checkBuffers(ranks)) context_->globalEventLoop() ; 
     177        while (checkBuffers(ranks)) callGlobalEventLoop() ; 
    178178       
    179179        CXios::getDaemonsManager()->scheduleContext(hashId_) ; 
    180         while (CXios::getDaemonsManager()->isScheduledContext(hashId_)) context_->globalEventLoop() ; 
     180        while (CXios::getDaemonsManager()->isScheduledContext(hashId_)) callGlobalEventLoop() ; 
    181181      } 
    182182       
     
    287287          checkBuffers(); 
    288288 
    289           context_->globalEventLoop() ; 
     289          callGlobalEventLoop() ; 
    290290        } 
    291291 
     
    301301   } 
    302302 
     303   void CContextClient::eventLoop(void) 
     304   { 
     305      if (!locked_) checkBuffers() ; 
     306   } 
     307 
     308   void CContextClient::callGlobalEventLoop(void) 
     309   { 
     310     locked_=true ; 
     311     context_->globalEventLoop() ; 
     312     locked_=false ; 
     313   } 
    303314   /*! 
    304315   Make a new buffer for a certain connection to server with specific rank 
Note: See TracChangeset for help on using the changeset viewer.