Traceback (most recent call last): File "yocto-autobuilder-helper/scripts/run-config", line 116, in <module> fcntl.flock(fileno, fcntl.LOCK_EX) OSError: [Errno 22] Invalid argument
Signed-off-by: Richard Purdie <richard.pur...@linuxfoundation.org> --- scripts/run-config | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/scripts/run-config b/scripts/run-config index 9d8d48a..ed13ca0 100755 --- a/scripts/run-config +++ b/scripts/run-config @@ -111,15 +111,20 @@ if bttarball: btlock = btdlpath + ".lock" if not os.path.exists(os.path.dirname(btdlpath)): os.makedirs(os.path.dirname(btdlpath), exist_ok=True) - with open(btlock, 'a+') as lf: - fileno = lf.fileno() - fcntl.flock(fileno, fcntl.LOCK_EX) - if not os.path.exists(btdlpath): - if bttarball.startswith("/"): - subprocess.check_call(["cp", bttarball, btdlpath]) - else: - subprocess.check_call(["wget", "-O", btdlpath, bttarball]) - os.chmod(btdlpath, 0o775) + while True: + try: + with open(btlock, 'a+') as lf: + fileno = lf.fileno() + fcntl.flock(fileno, fcntl.LOCK_EX) + if not os.path.exists(btdlpath): + if bttarball.startswith("/"): + subprocess.check_call(["cp", bttarball, btdlpath]) + else: + subprocess.check_call(["wget", "-O", btdlpath, bttarball]) + os.chmod(btdlpath, 0o775) + except OSError: + # We raced with someone else, try again + pass subprocess.check_call(["bash", btdlpath, "-d", btdir, "-y"]) btenv = glob.glob(btdir + "/environment-setup*") # We either parse or wrap all our execution calls, rock and a hard place :( -- 2.25.1
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#50482): https://lists.yoctoproject.org/g/yocto/message/50482 Mute This Topic: https://lists.yoctoproject.org/mt/76695570/21656 Group Owner: yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-