Ignore:
Timestamp:
11/05/19 16:02:34 (5 years ago)
Author:
ymipsl
Message:

Some Update on XIOS services
Seems to work on Irène for :

  • first level of servers
  • fisrt + second level of servers
  • attached mode

YM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/dev_ym/XIOS_SERVICES/src/manager/servers_ressource.cpp

    r1761 r1764  
    5757       } 
    5858        
    59        notifyType_=NOTIFY_CREATE_POOL ; 
    60        notifyCreatePool_ = make_tuple(poolId, isPartOf) ; 
     59       notifyOutType_=NOTIFY_CREATE_POOL ; 
     60       notifyOutCreatePool_ = make_tuple(poolId, isPartOf) ; 
    6161       sendNotification(freeRessourcesRank_[i]) ; 
    6262    } 
     
    7171    for(int rank=0; rank<commSize;rank++) 
    7272    {  
    73       notifyType_=NOTIFY_FINALIZE ; 
     73      notifyOutType_=NOTIFY_FINALIZE ; 
    7474      sendNotification(rank) ; 
    7575    } 
     
    8989    buffer.realloc(maxBufferSize_) ; 
    9090     
    91     if (notifyType_==NOTIFY_CREATE_POOL) 
     91    if (notifyOutType_==NOTIFY_CREATE_POOL) 
    9292    { 
    93       auto& arg=notifyCreatePool_ ; 
    94       buffer << notifyType_ << std::get<0>(arg) << std::get<1>(arg) ; 
     93      auto& arg=notifyOutCreatePool_ ; 
     94      buffer << notifyOutType_ << std::get<0>(arg) << std::get<1>(arg) ; 
    9595    } 
    96     else if (notifyType_==NOTIFY_FINALIZE) buffer << notifyType_ ; 
     96    else if (notifyOutType_==NOTIFY_FINALIZE) buffer << notifyOutType_ ; 
    9797  } 
    9898 
    9999  void CServersRessource::notificationsDumpIn(CBufferIn& buffer) 
    100100  { 
    101     if (buffer.bufferSize() == 0) notifyType_= NOTIFY_NOTHING ; 
     101    if (buffer.bufferSize() == 0) notifyInType_= NOTIFY_NOTHING ; 
    102102    else 
    103103    { 
    104       buffer>>notifyType_; 
    105       if (notifyType_==NOTIFY_CREATE_POOL) 
     104      buffer>>notifyInType_; 
     105      if (notifyInType_==NOTIFY_CREATE_POOL) 
    106106      { 
    107         auto& arg=notifyCreatePool_ ; 
     107        auto& arg=notifyInCreatePool_ ; 
    108108        buffer >> std::get<0>(arg) >> std::get<1>(arg)  ; 
    109109      } 
    110       else if (notifyType_==NOTIFY_FINALIZE) { /*nothing to do*/} 
     110      else if (notifyInType_==NOTIFY_FINALIZE) { /*nothing to do*/} 
    111111    } 
    112112  } 
    113113 
    114   bool CServersRessource::eventLoop() 
     114  bool CServersRessource::eventLoop(bool serviceOnly) 
    115115  { 
    116116    checkNotifications() ; 
    117117    if (poolRessource_!=nullptr)  
    118118    { 
    119       if (poolRessource_->eventLoop()) 
     119      if (poolRessource_->eventLoop(serviceOnly)) 
    120120      { 
    121121        poolRessource_=nullptr ; 
     
    135135    winNotify_->popFromWindow(commRank, this, &CServersRessource::notificationsDumpIn) ; 
    136136    winNotify_->unlockWindow(commRank,0) ; 
    137     if (notifyType_==NOTIFY_CREATE_POOL) createPool() ; 
    138     else if (notifyType_==NOTIFY_FINALIZE) finalizeSignal() ; 
     137    if (notifyInType_==NOTIFY_CREATE_POOL) createPool() ; 
     138    else if (notifyInType_==NOTIFY_FINALIZE) finalizeSignal() ; 
    139139  } 
    140140 
    141141  void CServersRessource::createPool(void) 
    142142  { 
    143     auto& arg=notifyCreatePool_ ; 
     143    auto& arg=notifyInCreatePool_ ; 
    144144    string poolId=get<0>(arg) ; 
    145145    bool isPartOf=get<1>(arg) ; 
Note: See TracChangeset for help on using the changeset viewer.