Changeset 1378
- Timestamp:
- 12/13/17 16:11:58 (7 years ago)
- Location:
- XIOS/dev/XIOS_DEV_CMIP6/src
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/XIOS_DEV_CMIP6/src/context_client.cpp
r1377 r1378 246 246 for (int i = 0; i < context->serverPrimServer.size(); ++i) 247 247 context->serverPrimServer[i]->listen(); 248 //CServer::contextEventLoop(false) ; // avoid dead-lock at finalize...248 CServer::contextEventLoop(false) ; // avoid dead-lock at finalize... 249 249 } 250 250 -
XIOS/dev/XIOS_DEV_CMIP6/src/node/context.cpp
r1372 r1378 396 396 397 397 //! Try to send the buffers and receive possible answers 398 bool CContext::checkBuffersAndListen( void)398 bool CContext::checkBuffersAndListen(bool enableEventsProcessing /*= true*/) 399 399 { 400 400 bool clientReady, serverFinished; … … 408 408 hasTmpBufferedEvent = !client->sendTemporarilyBufferedEvent(); 409 409 // Don't process events if there is a temporarily buffered event 410 return server->eventLoop(!hasTmpBufferedEvent );410 return server->eventLoop(!hasTmpBufferedEvent || !enableEventsProcessing); 411 411 } 412 412 else if (CServer::serverLevel == 1) … … 423 423 clientPrimServer[i]->checkBuffers(); 424 424 if (!finalized) 425 serverPrimFinished *= serverPrimServer[i]->eventLoop( );425 serverPrimFinished *= serverPrimServer[i]->eventLoop(enableEventsProcessing); 426 426 } 427 427 return ( serverFinished && serverPrimFinished); … … 431 431 { 432 432 client->checkBuffers(); 433 return server->eventLoop( );433 return server->eventLoop(enableEventsProcessing); 434 434 } 435 435 } … … 490 490 { 491 491 // Blocking send of context finalize message to its client (e.g. primary server or model) 492 info(100)<<"DEBUG: context "<<getId()<<" Send client finalize<<"<<endl ; 492 493 client->finalize(); 493 494 bool bufferReleased; -
XIOS/dev/XIOS_DEV_CMIP6/src/node/context.hpp
r1358 r1378 95 95 96 96 // Put sever or client into loop state 97 bool checkBuffersAndListen( void);97 bool checkBuffersAndListen(bool enableEventsProcessing=true); 98 98 99 99 // Finalize a context -
XIOS/dev/XIOS_DEV_CMIP6/src/server.hpp
r1243 r1378 16 16 static void finalize(void); 17 17 static void eventLoop(void); 18 static void contextEventLoop( void);18 static void contextEventLoop(bool enableEventsProcessing=true); 19 19 static void listenContext(void); 20 20 static void listenFinalize(void);
Note: See TracChangeset
for help on using the changeset viewer.