Changeset 1193
- Timestamp:
- 07/03/17 16:45:10 (8 years ago)
- Location:
- XIOS/dev/dev_olga/src
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/dev_olga/src/context_client.cpp
r1184 r1193 451 451 452 452 CTimer::get("Blocking time").resume(); 453 // 453 // while (!stop) 454 454 { 455 455 checkBuffers(); 456 456 if (hasTemporarilyBufferedEvent()) 457 457 sendTemporarilyBufferedEvent(); 458 459 458 stop = true; 459 // for (itBuff = buffers.begin(); itBuff != buffers.end(); itBuff++) stop &= !itBuff->second->hasPendingRequest(); 460 460 } 461 461 CTimer::get("Blocking time").suspend(); -
XIOS/dev/dev_olga/src/context_server.cpp
r1158 r1193 237 237 else if (event.classId==CContext::GetType() && event.type==CContext::EVENT_ID_CONTEXT_POST_FINALIZE) 238 238 { 239 info(20)<<" Server side context <"<<context->getId()<<"> finalized."<<endl;239 info(20)<<" CContextServer: Receive context <"<<context->getId()<<"> finalize."<<endl; 240 240 context->postFinalize(); 241 241 } -
XIOS/dev/dev_olga/src/node/context.cpp
r1188 r1193 444 444 445 445 // (Last) context finalized message received 446 // Close files, gather registries, send context finalize to its parent context447 446 if (countChildCtx_ == clientPrimServer.size()) 448 447 client->finalize(); … … 455 454 * \fn void CContext::postFinalize(void) 456 455 * Close files, gather registries, and make deallocations. 457 * Function is called when a context is finalized (it has nothing to receive and nothing to send).456 * Function is called when a context is finalized. 458 457 */ 459 458 void CContext::postFinalize(void) … … 475 474 } while (!buffersReleased); 476 475 477 info(20)<<"Context <"<<getId()<<"> is finalized."<<endl; 476 // Primary or classical server: block until all messages are sent to model 477 // Client (model): block until all messages are sent to server 478 if ( CServer::serverLevel==0 || CServer::serverLevel==1 || !hasServer) 479 do 480 { 481 client->checkBuffers(); 482 buffersReleased = !client->havePendingRequests(); 483 } while (!buffersReleased); 478 484 479 485 if (hasServer && !hasClient) … … 493 499 MPI_Comm_free(&(*it)); 494 500 comms.clear(); 501 502 info(20)<<"CContext: Context <"<<getId()<<"> is finalized."<<endl; 495 503 496 504 } … … 1239 1247 { 1240 1248 CFile* file = this->enabledFiles[i]; 1241 //if (file->getContextClient() == contextClient)1249 if (file->getContextClient() == contextClient) 1242 1250 { 1243 1251 CFile::mode_attr::t_enum fileMode = file->mode.isEmpty() ? CFile::mode_attr::write : file->mode.getValue();
Note: See TracChangeset
for help on using the changeset viewer.