diff options
author | Julian Andres Klode <julian.klode@canonical.com> | 2018-06-13 18:45:12 +0200 |
---|---|---|
committer | Julian Andres Klode <julian.klode@canonical.com> | 2018-06-13 23:36:08 +0200 |
commit | 79f012bd09ae99d4c9d63dc0ac960376b5338b32 (patch) | |
tree | 7e808578aac6fe6655c29ac871d6d25108c7534b /cmdline/apt-internal-solver.cc | |
parent | 15df82d2c8a29ac179ddcd57eb849d3ad0f2561f (diff) |
Fix lock counting in debSystem
debSystem uses a reference counted lock, so you can acquire it
multiple times in your applications, possibly nested. Nesting
locks causes a fd leak, though, as we only increment the lock
count when we already have locked twice, rather than once, and
hence when we call lock the second time, instead of increasing
the lock count, we open another lock fd.
This fixes the code to check if we have locked at all (> 0).
There is no practical problem here aside from the fd leak, as
closing the new fd releases the lock on the old one due to the
weird semantics of fcntl locks.
Diffstat (limited to 'cmdline/apt-internal-solver.cc')
0 files changed, 0 insertions, 0 deletions