From 44d5647b4b92089fc90195b41373f6b99dc5c42c Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Thu, 24 Oct 2019 08:23:42 +0200 Subject: Close database as soon as possible This becomes important if we trigger a recursive implicit sync that uses the same database (e.g., in a build system module project). --- bdep/fetch.cxx | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'bdep/fetch.cxx') diff --git a/bdep/fetch.cxx b/bdep/fetch.cxx index 7a88106..3527e51 100644 --- a/bdep/fetch.cxx +++ b/bdep/fetch.cxx @@ -33,11 +33,17 @@ namespace bdep tracer trace ("fetch"); dir_path prj (find_project (o)); - database db (open (prj, trace)); - transaction t (db.begin ()); - configurations cfgs (find_configurations (o, prj, t)); - t.commit (); + configurations cfgs; + { + // Don't keep the database open longer than necessary. + // + database db (open (prj, trace)); + + transaction t (db.begin ()); + cfgs = find_configurations (o, prj, t); + t.commit (); + } bool first (true); for (const shared_ptr& c: cfgs) -- cgit v1.1