diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2019-10-24 08:23:42 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2019-10-24 08:23:42 +0200 |
commit | 44d5647b4b92089fc90195b41373f6b99dc5c42c (patch) | |
tree | 8b11ace1051875e9d7ffe910885ca2790f2d1ca1 /bdep/build.txx | |
parent | 282361b57f66b59a50ed3d073b46c7189c9553ee (diff) |
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).
Diffstat (limited to 'bdep/build.txx')
-rw-r--r-- | bdep/build.txx | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/bdep/build.txx b/bdep/build.txx index 1cd5fff..b83aa9c 100644 --- a/bdep/build.txx +++ b/bdep/build.txx @@ -45,11 +45,17 @@ namespace bdep const dir_path& prj (pp.project); - database db (open (prj, trace)); + // Load the configurations without keeping the database open longer + // than necessary. + // + configurations cfgs; + { + database db (open (prj, trace)); - transaction t (db.begin ()); - configurations cfgs (find_configurations (o, prj, t)); - t.commit (); + transaction t (db.begin ()); + cfgs = find_configurations (o, prj, t); + t.commit (); + } // If specified, verify packages are present in each configuration. // |