summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoshua Watt <JPEWhacker@gmail.com>2022-08-30 10:59:09 -0500
committerRichard Purdie <richard.purdie@linuxfoundation.org>2022-09-02 11:44:47 +0100
commitce9fe70156e8f909a3a81da017b89ea61bc6fe38 (patch)
tree65702df67b042357270edbb9de464409b765eb7f
parentbc85c044ec250001855f2f9f0717ac031feab7c2 (diff)
downloadbitbake-ce9fe70156e8f909a3a81da017b89ea61bc6fe38.tar.gz
utils: Pass lock argument in fileslocked
Pass additional arguments in the fileslocked() context manager to the underlying lockfile() function. This allows the context manager to be used for any types of locks (non-blocking, shared, etc.) that the lockfile() function supports. Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--lib/bb/utils.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/bb/utils.py b/lib/bb/utils.py
index d11da978d..298017657 100644
--- a/lib/bb/utils.py
+++ b/lib/bb/utils.py
@@ -429,12 +429,14 @@ def better_eval(source, locals, extraglobals = None):
return eval(source, ctx, locals)
@contextmanager
-def fileslocked(files):
+def fileslocked(files, *args, **kwargs):
"""Context manager for locking and unlocking file locks."""
locks = []
if files:
for lockfile in files:
- locks.append(bb.utils.lockfile(lockfile))
+ l = bb.utils.lockfile(lockfile, *args, **kwargs)
+ if l is not None:
+ locks.append(l)
try:
yield