Ignore:
Timestamp:
08/29/23 17:24:04 (10 months ago)
Author:
ymipsl
Message:

Major update :

  • New method to lock and unlock one-sided windows (window_dynamic) to avoid network overhead
  • Introducing multithreading on server sided to manage more efficiently dead-lock occuring (similar to co-routine which will be available and implemented in futur c++ standard), based on c++ threads
  • Suprression of old "attached mode" which is replaced by online writer and reder filters

YM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS3/trunk/src/node/service_node.cpp

    r2458 r2547  
    6060    else if (!hasAutoGeneratedId() ) serviceId=getId() ; 
    6161    else ERROR("void CServiceNode::allocateRessources(const string& poolId)",<<"Service has no name or id, attributes <id> or <name> must be specified") 
     62     
    6263    servicesManager->createServices(poolId, serviceId, serviceType, nbRessources, nb_partitions, true) ; 
     64    if (CThreadManager::isUsingThreads()) 
     65      for(int i=0; i<nb_partitions; i++) 
     66        while(!servicesManager->hasService(poolId, serviceId, i))  
     67        { 
     68          CXios::getDaemonsManager()->eventLoop() ; 
     69          CThreadManager::yield() ; 
     70        } 
     71    else servicesManager->waitServiceRegistration(CXios::defaultPoolId, CXios::defaultWriterId) ; 
     72 
    6373  } 
    6474 
Note: See TracChangeset for help on using the changeset viewer.