mirror of
https://git.yoctoproject.org/poky
synced 2026-01-29 21:08:42 +01:00
terminal.py: avoid 100% cpu while waiting for phonehome pid file
Some of the less common terminal types haven't been tested with the recent phonehome pid file changes and there may be error cases where the pid file is never created. (From OE-Core rev: 6b0cf568e9fbe28fb6e7b17f4ad92348d33e2bf4) Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
b5db9f05a1
commit
0063ae9310
@@ -221,6 +221,7 @@ def spawn(name, sh_cmd, title=None, env=None, d=None):
|
||||
# to a file using a "phonehome" wrapper script, then monitor the pid
|
||||
# until it exits.
|
||||
import tempfile
|
||||
import time
|
||||
pidfile = tempfile.NamedTemporaryFile(delete = False).name
|
||||
try:
|
||||
sh_cmd = "oe-gnome-terminal-phonehome " + pidfile + " " + sh_cmd
|
||||
@@ -232,13 +233,13 @@ def spawn(name, sh_cmd, title=None, env=None, d=None):
|
||||
raise ExecutionError(sh_cmd, pipe.returncode, output)
|
||||
|
||||
while os.stat(pidfile).st_size <= 0:
|
||||
time.sleep(0.01)
|
||||
continue
|
||||
with open(pidfile, "r") as f:
|
||||
pid = int(f.readline())
|
||||
finally:
|
||||
os.unlink(pidfile)
|
||||
|
||||
import time
|
||||
while True:
|
||||
try:
|
||||
os.kill(pid, 0)
|
||||
|
||||
Reference in New Issue
Block a user