bitbake: 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.

(Bitbake rev: 7a8eb8da8e8495051e174721062da08e06168024)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Joshua Watt 2022-08-30 10:59:09 -05:00 committed by Richard Purdie
parent de284c467a
commit 79cc8584e6

View File

@ -431,12 +431,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