[gnome-continuous-yocto/gnomeostree-3.28-rocko: 6633/8267] bitbake: server/process: Fix waitEvent() calls with 0 timeout



commit 9245c3b87fd56cd157de8f3e8ba1032a3a6be286
Author: Richard Purdie <richard purdie linuxfoundation org>
Date:   Fri Jul 7 14:38:54 2017 +0100

    bitbake: server/process: Fix waitEvent() calls with 0 timeout
    
    You might think Queue.Queue.get(True, 0) would return an event immediately
    if present and otherwise return. It doesn't, it immediately "times out"
    and returns with nothing from the queue.
    
    The behaviour we want is not to wait but return anything present which is
    what .get(False) does so map to this.
    
    This fixes some odd behaviour observed in some of the tinfoil selftests.
    
    (Bitbake rev: 412bfab8721ea317898a1974f6a7a0d0bea763df)
    
    Signed-off-by: Richard Purdie <richard purdie linuxfoundation org>

 bitbake/lib/bb/server/process.py |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)
---
diff --git a/bitbake/lib/bb/server/process.py b/bitbake/lib/bb/server/process.py
index c3c1450..9ca2b69 100644
--- a/bitbake/lib/bb/server/process.py
+++ b/bitbake/lib/bb/server/process.py
@@ -253,6 +253,8 @@ class ProcessEventQueue(multiprocessing.queues.Queue):
         try:
             if not self.server.is_alive():
                 return self.getEvent()
+            if timeout == 0:
+                return self.get(False)
             return self.get(True, timeout)
         except Empty:
             return None


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