Patchwork [bitbake-devel] bitbake/runqueue: Ensure finish_now() sets the runqueue state consistently

login
register
mail settings
Submitter Richard Purdie
Date Feb. 25, 2012, 4:02 p.m.
Message ID <1330185749.13788.44.camel@ted>
Download mbox | patch
Permalink /patch/22049/
State New
Headers show

Comments

Richard Purdie - Feb. 25, 2012, 4:02 p.m.
If we call finish_now(True), rq.state is not updated to match. This
makes the behaviour of finish_now(False) and finish_now(True) consistent
so both leave rq.state consistently.
    
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Robert Yang - Feb. 26, 2012, 9:41 a.m.
Hi Richard:

I have included this patch to the "V5 Disk space monitoring" as you suggested,
I have tested it, it worked well.

// Robert

On 02/26/2012 12:02 AM, Richard Purdie wrote:
> If we call finish_now(True), rq.state is not updated to match. This
> makes the behaviour of finish_now(False) and finish_now(True) consistent
> so both leave rq.state consistently.
>
> Signed-off-by: Richard Purdie<richard.purdie@linuxfoundation.org>
>
> diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py
> index c24841f..26a0f85 100644
> --- a/bitbake/lib/bb/runqueue.py
> +++ b/bitbake/lib/bb/runqueue.py
> @@ -1060,6 +1060,13 @@ class RunQueueExecute:
>           for pipe in self.build_pipes:
>               self.build_pipes[pipe].read()
>
> +        if len(self.failed_fnids) != 0:
> +            self.rq.state = runQueueFailed
> +            return
> +
> +        self.rq.state = runQueueComplete
> +        return
> +
>       def finish(self):
>           self.rq.state = runQueueCleanUp
>
>
>
>
> _______________________________________________
> bitbake-devel mailing list
> bitbake-devel@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/bitbake-devel
>

Patch

diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py
index c24841f..26a0f85 100644
--- a/bitbake/lib/bb/runqueue.py
+++ b/bitbake/lib/bb/runqueue.py
@@ -1060,6 +1060,13 @@  class RunQueueExecute:
         for pipe in self.build_pipes:
             self.build_pipes[pipe].read()
 
+        if len(self.failed_fnids) != 0:
+            self.rq.state = runQueueFailed
+            return
+
+        self.rq.state = runQueueComplete
+        return
+
     def finish(self):
         self.rq.state = runQueueCleanUp