BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=2166

file_lock and cache_lock are used as global data,
so move file_lock and cache_lock initialization in Build
object __init__ function.

Cc: Liming Gao <liming....@intel.com>
Cc: Steven Shi <steven....@intel.com>
Signed-off-by: Bob Feng <bob.c.f...@intel.com>
---
 BaseTools/Source/Python/build/build.py | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/BaseTools/Source/Python/build/build.py 
b/BaseTools/Source/Python/build/build.py
index 0406ac314b65..cf82c29b7eb9 100755
--- a/BaseTools/Source/Python/build/build.py
+++ b/BaseTools/Source/Python/build/build.py
@@ -810,27 +810,25 @@ class Build():
         self.AutoGenMgr = None
         EdkLogger.info("")
         os.chdir(self.WorkspaceDir)
         GlobalData.gCacheIR = Manager().dict()
         self.log_q = log_q
+        GlobalData.file_lock =  mp.Lock()
+        GlobalData.cache_lock = mp.Lock()
     def StartAutoGen(self,mqueue, DataPipe,SkipAutoGen,PcdMaList,share_data):
         try:
             if SkipAutoGen:
                 return True,0
             feedback_q = mp.Queue()
-            file_lock = mp.Lock()
             error_event = mp.Event()
-            GlobalData.file_lock = file_lock
-            cache_lock = mp.Lock()
-            GlobalData.cache_lock = cache_lock
             FfsCmd = DataPipe.Get("FfsCommand")
             if FfsCmd is None:
                 FfsCmd = {}
             GlobalData.FfsCmd = FfsCmd
             GlobalData.libConstPcd = DataPipe.Get("LibConstPcd")
             GlobalData.Refes = DataPipe.Get("REFS")
-            auto_workers = 
[AutoGenWorkerInProcess(mqueue,DataPipe.dump_file,feedback_q,file_lock,cache_lock,share_data,self.log_q,error_event)
 for _ in range(self.ThreadNumber)]
+            auto_workers = 
[AutoGenWorkerInProcess(mqueue,DataPipe.dump_file,feedback_q,GlobalData.file_lock,GlobalData.cache_lock,share_data,self.log_q,error_event)
 for _ in range(self.ThreadNumber)]
             self.AutoGenMgr = 
AutoGenManager(auto_workers,feedback_q,error_event)
             self.AutoGenMgr.start()
             for w in auto_workers:
                 w.start()
             if PcdMaList is not None:
-- 
2.20.1.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#47014): https://edk2.groups.io/g/devel/message/47014
Mute This Topic: https://groups.io/mt/34074137/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to