Ignore:
Timestamp:
09/08/16 11:18:50 (5 years ago)
Author:
rlacroix
Message:

Fix: Make sure that the connected servers are properly set for non-distributed grids.

This could cause the buffers not to be correctly allocated. However this was unlikely to cause any real issues since XIOS tries to recover when an unexpected buffer is requested.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/trunk/src/node/grid.cpp

    r914 r926  
    461461     isDataDistributed_= clientDistribution_->isDataDistributed(); 
    462462 
     463     connectedServerRank_.clear(); 
     464 
    463465     if (!doGridHaveDataDistributed()) 
    464466     { 
     
    467469          size_t ssize = clientDistribution_->getLocalDataIndexOnClient().size(); 
    468470          for (int rank = 0; rank < client->serverSize; ++rank) 
     471          { 
     472            connectedServerRank_.push_back(rank); 
    469473            connectedDataSize_[rank] = ssize; 
     474          } 
    470475        } 
    471476        return; 
     
    506511     } 
    507512 
    508      connectedServerRank_.clear(); 
    509513     for (itGlobalMap = itbGlobalMap; itGlobalMap != iteGlobalMap; ++itGlobalMap) { 
    510514       connectedServerRank_.push_back(itGlobalMap->first); 
     
    928932    storeIndex_client.resize(1); 
    929933    storeIndex_client(0) = 0; 
     934 
     935    connectedServerRank_.clear(); 
     936 
    930937    if (0 == client->clientRank) 
    931938    { 
    932939      for (int rank = 0; rank < client->serverSize; ++rank) 
     940      { 
     941        connectedServerRank_.push_back(rank); 
    933942        connectedDataSize_[rank] = 1; 
     943      } 
    934944    } 
    935945    isDataDistributed_ = false; 
Note: See TracChangeset for help on using the changeset viewer.