Changeset 1194 for XIOS/dev/dev_olga/src/context_client.cpp
- Timestamp:
- 07/04/17 14:28:50 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/dev_olga/src/context_client.cpp
r1193 r1194 248 248 if (!mapBufferSize_.count(rank)) 249 249 { 250 error(0) << "WARNING: Unexpected request for buffer to communicate with server " << rank << std::endl;250 // error(0) << "WARNING: Unexpected request for buffer to communicate with server " << rank << std::endl; 251 251 mapBufferSize_[rank] = CXios::minBufferSize; 252 252 } … … 423 423 } 424 424 425 /*!426 * Finalize context client and do some reports. Function is non-blocking.427 */428 void CContextClient::postFinalize(void)429 {430 map<int,CClientBuffer*>::iterator itBuff;431 bool stop = false;432 433 CTimer::get("Blocking time").resume();434 while (hasTemporarilyBufferedEvent())435 {436 checkBuffers();437 sendTemporarilyBufferedEvent();438 }439 CTimer::get("Blocking time").suspend();440 441 CEventClient event(CContext::GetType(), CContext::EVENT_ID_CONTEXT_POST_FINALIZE);442 if (isServerLeader())443 {444 CMessage msg;445 const std::list<int>& ranks = getRanksServerLeader();446 for (std::list<int>::const_iterator itRank = ranks.begin(), itRankEnd = ranks.end(); itRank != itRankEnd; ++itRank)447 event.push(*itRank, 1, msg);448 sendEvent(event);449 }450 else sendEvent(event);451 452 CTimer::get("Blocking time").resume();453 // while (!stop)454 {455 checkBuffers();456 if (hasTemporarilyBufferedEvent())457 sendTemporarilyBufferedEvent();458 stop = true;459 // for (itBuff = buffers.begin(); itBuff != buffers.end(); itBuff++) stop &= !itBuff->second->hasPendingRequest();460 }461 CTimer::get("Blocking time").suspend();462 463 }464 425 465 426 /*!
Note: See TracChangeset
for help on using the changeset viewer.