Changeset 2517 for XIOS3/trunk/src/manager/ressources_manager.cpp
- Timestamp:
- 06/12/23 11:52:10 (13 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS3/trunk/src/manager/ressources_manager.cpp
r2458 r2517 49 49 info(40)<<"CRessourcesManager::createPool : calling createPool : "<<poolId<<" of size"<<size<<endl ; 50 50 info(40)<<"send notification to leader : "<<serverLeader_<<endl ; 51 winRessources_->lockWindow(managerGlobalLeader_,0) ; 52 winRessources_->updateFromWindow(managerGlobalLeader_, this, &CRessourcesManager::ressourcesDumpIn) ; 53 winRessources_->unlockWindow(managerGlobalLeader_,0) ; 54 51 winRessources_->updateFromExclusiveWindow(managerGlobalLeader_, this, &CRessourcesManager::ressourcesDumpIn) ; 52 55 53 notifyType_=NOTIFY_CREATE_POOL ; 56 54 notifyCreatePool_=make_tuple(poolId, size) ; … … 61 59 void CRessourcesManager::finalize(void) 62 60 { 63 winRessources_->lockWindow(managerGlobalLeader_,0) ; 64 winRessources_->updateFromWindow(managerGlobalLeader_, this, &CRessourcesManager::ressourcesDumpIn) ; 65 winRessources_->unlockWindow(managerGlobalLeader_,0) ; 61 winRessources_->updateFromExclusiveWindow(managerGlobalLeader_, this, &CRessourcesManager::ressourcesDumpIn) ; 66 62 67 63 if (serverLeader_!=-1) … … 77 73 winNotify_->lockWindowExclusive(rank) ; 78 74 winNotify_->pushToLockedWindow(rank, this, &CRessourcesManager::notificationsDumpOut) ; 79 winNotify_->unlockWindow (rank) ;75 winNotify_->unlockWindowExclusive(rank) ; 80 76 } 81 77 … … 139 135 CTimer::get("CRessourcesManager::checkNotifications pop").suspend(); 140 136 CTimer::get("CRessourcesManager::checkNotifications unlock").resume(); 141 winNotify_->unlockWindow (commRank) ;137 winNotify_->unlockWindowExclusive(commRank) ; 142 138 CTimer::get("CRessourcesManager::checkNotifications unlock").suspend(); 143 139 if (notifyType_==NOTIFY_CREATE_POOL) createPool() ; … … 196 192 void CRessourcesManager::registerServerLeader(int serverLeaderRank) 197 193 { 198 winRessources_->lockWindow (managerGlobalLeader_,0) ;199 winRessources_->updateFrom Window(managerGlobalLeader_, this, &CRessourcesManager::ressourcesDumpIn) ;194 winRessources_->lockWindowExclusive(managerGlobalLeader_) ; 195 winRessources_->updateFromLockedWindow(managerGlobalLeader_, this, &CRessourcesManager::ressourcesDumpIn) ; 200 196 serverLeader_ = serverLeaderRank ; 201 winRessources_->updateTo Window(managerGlobalLeader_, this, &CRessourcesManager::ressourcesDumpOut) ;202 winRessources_->unlockWindow (managerGlobalLeader_,0) ;197 winRessources_->updateToLockedWindow(managerGlobalLeader_, this, &CRessourcesManager::ressourcesDumpOut) ; 198 winRessources_->unlockWindowExclusive(managerGlobalLeader_) ; 203 199 } 204 200 205 201 void CRessourcesManager::registerRessourcesSize(int size) 206 202 { 207 winRessources_->lockWindow (managerGlobalLeader_,0) ;208 winRessources_->updateFrom Window(managerGlobalLeader_, this, &CRessourcesManager::ressourcesDumpIn) ;203 winRessources_->lockWindowExclusive(managerGlobalLeader_) ; 204 winRessources_->updateFromLockedWindow(managerGlobalLeader_, this, &CRessourcesManager::ressourcesDumpIn) ; 209 205 ressourcesSize_ = size ; 210 206 freeRessourcesSize_ = size ; 211 winRessources_->updateTo Window(managerGlobalLeader_, this, &CRessourcesManager::ressourcesDumpOut) ;212 winRessources_->unlockWindow (managerGlobalLeader_,0) ;207 winRessources_->updateToLockedWindow(managerGlobalLeader_, this, &CRessourcesManager::ressourcesDumpOut) ; 208 winRessources_->unlockWindowExclusive(managerGlobalLeader_) ; 213 209 } 214 210 … … 216 212 void CRessourcesManager::registerPoolClient(const string& poolId, int size, int leader) 217 213 { 218 winRessources_->lockWindow (managerGlobalLeader_,0) ;219 winRessources_->updateFrom Window(managerGlobalLeader_, this, &CRessourcesManager::ressourcesDumpIn) ;214 winRessources_->lockWindowExclusive(managerGlobalLeader_) ; 215 winRessources_->updateFromLockedWindow(managerGlobalLeader_, this, &CRessourcesManager::ressourcesDumpIn) ; 220 216 pools_[poolId] = make_tuple(size, size, leader) ; 221 winRessources_->updateTo Window(managerGlobalLeader_, this, &CRessourcesManager::ressourcesDumpOut) ;222 winRessources_->unlockWindow (managerGlobalLeader_,0) ;217 winRessources_->updateToLockedWindow(managerGlobalLeader_, this, &CRessourcesManager::ressourcesDumpOut) ; 218 winRessources_->unlockWindowExclusive(managerGlobalLeader_) ; 223 219 } 224 220 225 221 void CRessourcesManager::registerPoolServer(const string& poolId, int size, int leader) 226 222 { 227 winRessources_->lockWindow (managerGlobalLeader_,0) ;228 winRessources_->updateFrom Window(managerGlobalLeader_, this, &CRessourcesManager::ressourcesDumpIn) ;223 winRessources_->lockWindowExclusive(managerGlobalLeader_) ; 224 winRessources_->updateFromLockedWindow(managerGlobalLeader_, this, &CRessourcesManager::ressourcesDumpIn) ; 229 225 pools_[poolId] = make_tuple(size, size, leader) ; 230 226 freeRessourcesSize_-=size ; 231 winRessources_->updateTo Window(managerGlobalLeader_, this, &CRessourcesManager::ressourcesDumpOut) ;232 winRessources_->unlockWindow (managerGlobalLeader_,0) ;227 winRessources_->updateToLockedWindow(managerGlobalLeader_, this, &CRessourcesManager::ressourcesDumpOut) ; 228 winRessources_->unlockWindowExclusive(managerGlobalLeader_) ; 233 229 } 234 230 235 231 bool CRessourcesManager::getPoolInfo(const string& poolId, int& size, int& freeSize, int& leader) 236 232 { 237 winRessources_->lockWindow(managerGlobalLeader_,0) ; 238 winRessources_->updateFromWindow(managerGlobalLeader_, this, &CRessourcesManager::ressourcesDumpIn) ; 239 winRessources_->unlockWindow(managerGlobalLeader_,0) ; 233 winRessources_->updateFromSharedWindow(managerGlobalLeader_, this, &CRessourcesManager::ressourcesDumpIn) ; 240 234 241 235 auto it=pools_.find(poolId) ; … … 254 248 bool ret ; 255 249 256 winRessources_->lockWindow (managerGlobalLeader_,0) ;257 winRessources_->updateFrom Window(managerGlobalLeader_, this, &CRessourcesManager::ressourcesDumpIn) ;250 winRessources_->lockWindowExclusive(managerGlobalLeader_) ; 251 winRessources_->updateFromLockedWindow(managerGlobalLeader_, this, &CRessourcesManager::ressourcesDumpIn) ; 258 252 259 253 … … 266 260 ret=true ; 267 261 } 268 winRessources_->updateTo Window(managerGlobalLeader_, this, &CRessourcesManager::ressourcesDumpOut) ;269 winRessources_->unlockWindow (managerGlobalLeader_,0) ;262 winRessources_->updateToLockedWindow(managerGlobalLeader_, this, &CRessourcesManager::ressourcesDumpOut) ; 263 winRessources_->unlockWindowExclusive(managerGlobalLeader_) ; 270 264 271 265 return ret ; … … 274 268 int CRessourcesManager::getRessourcesSize(void) 275 269 { 276 winRessources_->lockWindow(managerGlobalLeader_,0) ; 277 winRessources_->updateFromWindow(managerGlobalLeader_, this, &CRessourcesManager::ressourcesDumpIn) ; 278 winRessources_->unlockWindow(managerGlobalLeader_,0) ; 279 270 winRessources_->updateFromSharedWindow(managerGlobalLeader_, this, &CRessourcesManager::ressourcesDumpIn) ; 271 280 272 return ressourcesSize_ ; 281 273 } … … 283 275 int CRessourcesManager::getFreeRessourcesSize(void) 284 276 { 285 winRessources_->lockWindow(managerGlobalLeader_,0) ; 286 winRessources_->updateFromWindow(managerGlobalLeader_, this, &CRessourcesManager::ressourcesDumpIn) ; 287 winRessources_->unlockWindow(managerGlobalLeader_,0) ; 277 winRessources_->updateFromSharedWindow(managerGlobalLeader_, this, &CRessourcesManager::ressourcesDumpIn) ; 288 278 289 279 return freeRessourcesSize_ ;
Note: See TracChangeset
for help on using the changeset viewer.