[bitbake-devel] [PATCH 1/1] bitbake: cooker: clear up state on stateShutdown command

Richard Purdie richard.purdie at linuxfoundation.org
Sat Sep 14 08:33:02 UTC 2013


On Fri, 2013-09-13 at 13:47 +0100, Richard Purdie wrote:
> On Tue, 2013-09-10 at 16:48 +0100, Alex DAMIAN wrote:
> > From: Alexandru DAMIAN <alexandru.damian at intel.com>
> > 
> > On resident bitbake server, a stateShutdown command (first
> > Ctrl-C in client) will leave the server in an unusable state.
> > 
> > This patch forces the server to reload data and begin
> > processing commands again, coping correctly with Ctrl-C commands.
> > 
> > Signed-off-by: Alexandru DAMIAN <alexandru.damian at intel.com>
> > 
> > diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py
> > index c3721aa..42eec2c 100644
> > --- a/bitbake/lib/bb/cooker.py
> > +++ b/bitbake/lib/bb/cooker.py
> > @@ -1101,6 +1101,7 @@ class BBCooker:
> >                  rq.finish_runqueue(True)
> >              elif self.state == state.shutdown:
> >                  rq.finish_runqueue(False)
> > +                self.state = state.initial
> >              failures = 0
> >              try:
> >                  retval = rq.execute_runqueue()
> > @@ -1191,7 +1192,7 @@ class BBCooker:
> >          if self.state == state.running:
> >              return
> >  
> > -        if self.state in (state.shutdown, state.stop):
> > +        if self.state == state.stop:
> >              self.parser.shutdown(clean=False, force = True)
> >              sys.exit(1)
> 
> This doesn't seem very intuitive. As I read the code above, "shutdown"
> means it sits and does nothing, "stop" means it exits? Surely these
> should be the other way around?

For completeness, my patch series addresses the above problems in
different ways. The underlying problems were the server not being reset
to state.initial after a command failed and the sys.exit() call causing
the server to exit.

Cheers,

Richard




More information about the bitbake-devel mailing list