From 83b647759ae313057b7fcff3a5823b212e0a9a69 Mon Sep 17 00:00:00 2001 From: Henning Baldersheim Date: Mon, 19 Sep 2016 14:12:29 +0000 Subject: Delay starting of eventloop thread until Component object is properly constructed. --- filedistribution/src/apps/filedistributor/filedistributor.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'filedistribution/src') diff --git a/filedistribution/src/apps/filedistributor/filedistributor.cpp b/filedistribution/src/apps/filedistributor/filedistributor.cpp index ae44165057f..02ac28e9a1b 100644 --- a/filedistribution/src/apps/filedistributor/filedistributor.cpp +++ b/filedistribution/src/apps/filedistributor/filedistributor.cpp @@ -57,7 +57,7 @@ class FileDistributor : public config::IFetcherCallback, const std::shared_ptr _stateServer; private: - std::thread _downloaderEventLoopThread; + std::unique_ptr _downloaderEventLoopThread; config::ConfigFetcher _configFetcher; template @@ -86,10 +86,10 @@ class FileDistributor : public config::IFetcherCallback, _manager(track(new FileDownloaderManager(_downloader, _model))), _rpcHandler(track(new FileDistributorRPC(rpcConfig.connectionspec, _manager))), _stateServer(track(new StateServerImpl(fileDistributorConfig.stateport))), - _downloaderEventLoopThread([downloader=_downloader] () { downloader->runEventLoop(); }), + _downloaderEventLoopThread(), _configFetcher(configUri.getContext()) - { + _downloaderEventLoopThread = std::make_unique([downloader=_downloader] () { downloader->runEventLoop(); }); _manager->start(); _rpcHandler->start(); @@ -110,7 +110,7 @@ class FileDistributor : public config::IFetcherCallback, _zk->disableRetries(); _downloader->close(); - _downloaderEventLoopThread.join(); + _downloaderEventLoopThread->join(); } }; -- cgit v1.2.3