From ce9fe70156e8f909a3a81da017b89ea61bc6fe38 Mon Sep 17 00:00:00 2001 From: Joshua Watt Date: Tue, 30 Aug 2022 10:59:09 -0500 Subject: 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 Signed-off-by: Richard Purdie --- lib/bb/utils.py | 6 ++++-- 1 file 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 -- cgit 1.2.3-korg