[gnome-continuous-yocto/gnomeostree-3.28-rocko: 7395/8267] bitbake: main: Attempt to gain bitbake.lock rather than just waiting



commit 4152c472430db1b32c943026f8c976bb99b9717b
Author: Richard Purdie <richard purdie linuxfoundation org>
Date:   Thu Aug 24 00:21:53 2017 +0100

    bitbake: main: Attempt to gain bitbake.lock rather than just waiting
    
    Rather than just waiting for 5s, try and get the lockfile. If we gain
    the lock, we know we're ready to retry and can skip any remaining timeout.
    
    (Bitbake rev: 8a60106c6f7d586c793b965c5e9460b6016fab15)
    
    Signed-off-by: Richard Purdie <richard purdie linuxfoundation org>

 bitbake/lib/bb/main.py |   10 +++++++++-
 1 files changed, 9 insertions(+), 1 deletions(-)
---
diff --git a/bitbake/lib/bb/main.py b/bitbake/lib/bb/main.py
index 07972f6..6e6a346 100755
--- a/bitbake/lib/bb/main.py
+++ b/bitbake/lib/bb/main.py
@@ -446,7 +446,15 @@ def setup_bitbake(configParams, configuration, extrafeatures=None):
                     logger.info("Reconnecting to bitbake server...")
                     if not os.path.exists(sockname):
                         print("Previous bitbake instance shutting down?, waiting to retry...")
-                        time.sleep(5)
+                        i = 0
+                        lock = None
+                        # Wait for 5s or until we can get the lock
+                        while not lock and i < 50:
+                            time.sleep(0.1)
+                            _, lock = lockBitbake()
+                            i += 1
+                        if lock:
+                            bb.utils.unlockfile(lock)
                         raise bb.server.process.ProcessTimeout("Bitbake still shutting down as socket exists 
but no lock?")
                 if not configParams.server_only:
                     try:


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