mirror of
https://git.yoctoproject.org/poky
synced 2026-04-21 21:32:12 +02:00
oeqa/sstatetests: Fix race issue
Under some load conditions, the result event can come back before the command complete event. If that happens, the code would hang indefinitely. Rework the code to wait for both events and avoid the hang. (From OE-Core rev: 8cfc94a4404c54bc73eab9f98d9da1f84c2135ad) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
@@ -772,15 +772,16 @@ addtask tmptask2 before do_tmptask1
|
||||
|
||||
def find_siginfo(pn, taskname, sigs=None):
|
||||
result = None
|
||||
command_complete = False
|
||||
tinfoil.set_event_mask(["bb.event.FindSigInfoResult",
|
||||
"bb.command.CommandCompleted"])
|
||||
ret = tinfoil.run_command("findSigInfo", pn, taskname, sigs)
|
||||
if ret:
|
||||
while True:
|
||||
while result is None or not command_complete:
|
||||
event = tinfoil.wait_event(1)
|
||||
if event:
|
||||
if isinstance(event, bb.command.CommandCompleted):
|
||||
break
|
||||
command_complete = True
|
||||
elif isinstance(event, bb.event.FindSigInfoResult):
|
||||
result = event.result
|
||||
return result
|
||||
|
||||
Reference in New Issue
Block a user