cancel
Showing results for 
Search instead for 
Did you mean: 
SOLVED

comm::datalayer::DatalayerSystem.stop() doesn't terminate, hangs forever when a Client was produced

comm::datalayer::DatalayerSystem.stop() doesn't terminate, hangs forever when a Client was produced

der_jupp
New Poster

Building a class library using googletest. 

In a first test i instantiate a comm::datalayer::DatalayerSystem, start it, then create a provider (IProvider) and a client usings its factory. 

The program works as expected, i provide a node, read a double via this node and then the program shall terminate. The read process works fine, anyway when it calls datalayerSystem.Stop() (no matter if directly from my code or implicitely via the ~DatalayerSystem() destructor, the programs hangs. 

This is the call stack: 

der_jupp_0-1691761833305.png

do i miss something? 

When simply not producing the client, the program terminates as expected. Both, client and provider, are connected with a DL via TCP. 

2 REPLIES 2

der_jupp
New Poster

oops - destructing the client before calling DatalayerSystem::stop() did the job. Shame on me. 

😔

thomasjosefjung
New Poster
Even simpler, using "modern C++": 
 
std::unique_ptr<comm::datalayer::IProvider> dlProvider(datalayerSystem.factory()->createProvider(CTRLX_ADDRESS));
std::unique_ptr<comm::datalayer::IClient> dlClient(datalayerSystem.factory()->createClient(CTRLX_ADDRESS));
 
Beautiful. 
Icon--AD-black-48x48Icon--address-consumer-data-black-48x48Icon--appointment-black-48x48Icon--back-left-black-48x48Icon--calendar-black-48x48Icon--center-alignedIcon--Checkbox-checkIcon--clock-black-48x48Icon--close-black-48x48Icon--compare-black-48x48Icon--confirmation-black-48x48Icon--dealer-details-black-48x48Icon--delete-black-48x48Icon--delivery-black-48x48Icon--down-black-48x48Icon--download-black-48x48Ic-OverlayAlertIcon--externallink-black-48x48Icon-Filledforward-right_adjustedIcon--grid-view-black-48x48IC_gd_Check-Circle170821_Icons_Community170823_Bosch_Icons170823_Bosch_Icons170821_Icons_CommunityIC-logout170821_Icons_Community170825_Bosch_Icons170821_Icons_CommunityIC-shopping-cart2170821_Icons_CommunityIC-upIC_UserIcon--imageIcon--info-i-black-48x48Icon--left-alignedIcon--Less-minimize-black-48x48Icon-FilledIcon--List-Check-grennIcon--List-Check-blackIcon--List-Cross-blackIcon--list-view-mobile-black-48x48Icon--list-view-black-48x48Icon--More-Maximize-black-48x48Icon--my-product-black-48x48Icon--newsletter-black-48x48Icon--payment-black-48x48Icon--print-black-48x48Icon--promotion-black-48x48Icon--registration-black-48x48Icon--Reset-black-48x48Icon--right-alignedshare-circle1Icon--share-black-48x48Icon--shopping-bag-black-48x48Icon-shopping-cartIcon--start-play-black-48x48Icon--store-locator-black-48x48Ic-OverlayAlertIcon--summary-black-48x48tumblrIcon-FilledvineIc-OverlayAlertwhishlist