From def2c804e522dde6bd32fa845d6343530036722c Mon Sep 17 00:00:00 2001 From: John Firebaugh Date: Tue, 15 Mar 2016 15:53:42 -0700 Subject: [test] Fix crash in offline binary --- bin/offline.cpp | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) (limited to 'bin') diff --git a/bin/offline.cpp b/bin/offline.cpp index 68b36529d4..ddad1fe41f 100644 --- a/bin/offline.cpp +++ b/bin/offline.cpp @@ -55,16 +55,8 @@ int main(int argc, char *argv[]) { using namespace mbgl; util::RunLoop loop; - - static DefaultFileSource fileSource(output, "."); - static std::unique_ptr region; - - std::signal(SIGINT, [] (int) { - if (region) { - std::cout << "Stopping download... "; - fileSource.setOfflineRegionDownloadState(*region, OfflineRegionDownloadState::Inactive); - } - }); + DefaultFileSource fileSource(output, "."); + std::unique_ptr region; fileSource.setAccessToken(token); @@ -122,6 +114,15 @@ int main(int argc, char *argv[]) { SystemTimePoint start; }; + static auto stop = [&] { + if (region) { + std::cout << "Stopping download... "; + fileSource.setOfflineRegionDownloadState(*region, OfflineRegionDownloadState::Inactive); + } + }; + + std::signal(SIGINT, [] (int) { stop(); }); + fileSource.createOfflineRegion(definition, metadata, [&] (std::exception_ptr error, optional region_) { if (error) { std::cerr << "Error creating region: " << util::toString(error) << std::endl; -- cgit v1.2.1