Patchwork [bitbake-devel,31/32] runqueue.py: initialize rqexe at RunQueue's init function

login
register
mail settings
Submitter Shane Wang
Date Feb. 29, 2012, 2:15 p.m.
Message ID <fca75ff19b2b78363692006b85f2b0c71dcb54e5.1330523904.git.shane.wang@intel.com>
Download mbox | patch
Permalink /patch/22481/
State New
Headers show

Comments

Shane Wang - Feb. 29, 2012, 2:15 p.m.
From: Dongxiao Xu <dongxiao.xu@intel.com>

Sometimes user stops the build before runqueue is established,
for example, at the stage of running add_unresolved() function. This
will cause RunQueue to use rqexe field in finish_runqeue() before
initialized. This will cause endless print of "Running idle function"
if use process server.

This commit initialize rqexe variable in RunQueue's init function,
and add a judgement in finish_runqueue().

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
---
 bitbake/lib/bb/runqueue.py |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)
Joshua Lock - Feb. 29, 2012, 9:29 p.m.
On 29/02/12 06:15, Shane Wang wrote:
> From: Dongxiao Xu<dongxiao.xu@intel.com>
>
> Sometimes user stops the build before runqueue is established,
> for example, at the stage of running add_unresolved() function. This
> will cause RunQueue to use rqexe field in finish_runqeue() before
> initialized. This will cause endless print of "Running idle function"
> if use process server.
>
> This commit initialize rqexe variable in RunQueue's init function,
> and add a judgement in finish_runqueue().
>
> Signed-off-by: Dongxiao Xu<dongxiao.xu@intel.com>

Signed-off-by: Joshua Lock <josh@linux.intel.com>

> ---
>   bitbake/lib/bb/runqueue.py |    5 +++++
>   1 files changed, 5 insertions(+), 0 deletions(-)
>
> diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py
> index f08f93a..0615ab4 100644
> --- a/bitbake/lib/bb/runqueue.py
> +++ b/bitbake/lib/bb/runqueue.py
> @@ -779,6 +779,8 @@ class RunQueue:
>           # For disk space monitor
>           self.dm = monitordisk.diskMonitor(cfgData)
>
> +        self.rqexe = None
> +
>       def check_stamps(self):
>           unchecked = {}
>           current = []
> @@ -996,6 +998,9 @@ class RunQueue:
>           return retval
>
>       def finish_runqueue(self, now = False):
> +        if not self.rqexe:
> +            return
> +
>           if now:
>               self.rqexe.finish_now()
>           else:

Patch

diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py
index f08f93a..0615ab4 100644
--- a/bitbake/lib/bb/runqueue.py
+++ b/bitbake/lib/bb/runqueue.py
@@ -779,6 +779,8 @@  class RunQueue:
         # For disk space monitor
         self.dm = monitordisk.diskMonitor(cfgData)
 
+        self.rqexe = None
+
     def check_stamps(self):
         unchecked = {}
         current = []
@@ -996,6 +998,9 @@  class RunQueue:
         return retval
 
     def finish_runqueue(self, now = False):
+        if not self.rqexe:
+            return
+
         if now:
             self.rqexe.finish_now()
         else: