public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [Patch 1/1] BaseTools: Fixed build clean regression issue
@ 2019-09-09  1:14 Bob Feng
  2019-09-09  3:41 ` Liming Gao
  0 siblings, 1 reply; 2+ messages in thread
From: Bob Feng @ 2019-09-09  1:14 UTC (permalink / raw)
  To: devel; +Cc: Liming Gao, Steven Shi, Bob Feng

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.gao@intel.com>
Cc: Steven Shi <steven.shi@intel.com>
Signed-off-by: Bob Feng <bob.c.feng@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


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [Patch 1/1] BaseTools: Fixed build clean regression issue
  2019-09-09  1:14 [Patch 1/1] BaseTools: Fixed build clean regression issue Bob Feng
@ 2019-09-09  3:41 ` Liming Gao
  0 siblings, 0 replies; 2+ messages in thread
From: Liming Gao @ 2019-09-09  3:41 UTC (permalink / raw)
  To: Feng, Bob C, devel@edk2.groups.io; +Cc: Shi, Steven

Reviewed-by: Liming Gao <liming.gao@intel.com>

> -----Original Message-----
> From: Feng, Bob C
> Sent: Monday, September 9, 2019 9:14 AM
> To: devel@edk2.groups.io
> Cc: Gao, Liming <liming.gao@intel.com>; Shi, Steven <steven.shi@intel.com>; Feng, Bob C <bob.c.feng@intel.com>
> Subject: [Patch 1/1] BaseTools: Fixed build clean regression issue
> 
> 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.gao@intel.com>
> Cc: Steven Shi <steven.shi@intel.com>
> Signed-off-by: Bob Feng <bob.c.feng@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


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2019-09-09  3:41 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-09-09  1:14 [Patch 1/1] BaseTools: Fixed build clean regression issue Bob Feng
2019-09-09  3:41 ` Liming Gao

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox