aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndre McCurdy <armccurdy@gmail.com>2017-08-25 13:36:30 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-09-11 22:13:18 +0100
commita5290e6c12f8e1735e96397e10716fb75e8137a7 (patch)
treef3f08daf1a8c16846225f34286700a1b90ba587c
parentd4a41cb6cc3d8863f5207f8a97699004caa03584 (diff)
downloadopenembedded-core-a5290e6c12f8e1735e96397e10716fb75e8137a7.zip
openembedded-core-a5290e6c12f8e1735e96397e10716fb75e8137a7.tar.gz
openembedded-core-a5290e6c12f8e1735e96397e10716fb75e8137a7.tar.bz2
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> Signed-off-by: Armin Kuster <akuster808@gmail.com>
-rw-r--r--meta/lib/oe/terminal.py3
1 files changed, 2 insertions, 1 deletions
diff --git a/meta/lib/oe/terminal.py b/meta/lib/oe/terminal.py
index 3c6220d..714772f 100644
--- a/meta/lib/oe/terminal.py
+++ b/meta/lib/oe/terminal.py
@@ -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)