[gnome-continuous-yocto/gnomeostree-3.28-rocko: 7305/8267] bitbake: process: Ensure we call select() to know which fds to read



commit ae874ef55373160e0fc910273915e885f9236ed2
Author: Richard Purdie <richard purdie linuxfoundation org>
Date:   Mon Aug 21 21:26:52 2017 +0100

    bitbake: process: Ensure we call select() to know which fds to read
    
    There is an interesting bug in the current code where a sync command
    is not seen until the current async command completes, by which time
    the UI may have shut down.
    
    The reason is that if there are idle commands, we may not end up sleeping
    in the select call at all, partiularly under heavy load like parsing.
    
    Fix this by calling select with a zero timeout so that we see active
    fds and know to read from them. This fixes various problems toaster was
    having with the recent server changes.
    
    [YOCTO #11898]
    
    (Bitbake rev: bbcce58e824b2793abf50efa52db158ae16e23e4)
    
    Signed-off-by: Richard Purdie <richard purdie linuxfoundation org>

 bitbake/lib/bb/server/process.py |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
---
diff --git a/bitbake/lib/bb/server/process.py b/bitbake/lib/bb/server/process.py
index 2ebfdfc..3ab793c 100644
--- a/bitbake/lib/bb/server/process.py
+++ b/bitbake/lib/bb/server/process.py
@@ -312,7 +312,7 @@ class ProcessServer(multiprocessing.Process):
                 # Ignore EINTR
                 return []
         else:
-            return []
+            return select.select(fds,[],[],0)[0]
 
 
 class ServerCommunicator():


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