[OE-core] [PATCH 1/3] terminal.py: avoid 100% cpu while waiting for phonehome pid file
Andre McCurdy
armccurdy at gmail.com
Fri Aug 25 20:36:30 UTC 2017
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.
Signed-off-by: Andre McCurdy <armccurdy at gmail.com>
---
meta/lib/oe/terminal.py | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
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)
--
1.9.1
More information about the Openembedded-core
mailing list