[gnome-continuous-yocto/gnomeostree-3.28-rocko: 7418/8267] terminal.py: avoid 100% cpu while waiting for phonehome pid file



commit 0063ae931082de11e8c45f4ea3ef5a66b5515159
Author: Andre McCurdy <armccurdy gmail com>
Date:   Fri Aug 25 13:36:30 2017 -0700

    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>

 meta/lib/oe/terminal.py |    3 ++-
 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)


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]