* [IMAGE_CREATOR 0/1] Fixed the "build again" hang
@ 2011-06-10 7:40 Lianhao Lu
2011-06-10 7:40 ` [IMAGE_CREATOR 1/1] bitbake/hob: " Lianhao Lu
0 siblings, 1 reply; 3+ messages in thread
From: Lianhao Lu @ 2011-06-10 7:40 UTC (permalink / raw)
To: poky
NOTE: This series of patch should be applied to the branch contrib/image-creator.
Modified hob to use the correct pygtk treading model "gobject.threads_init()".
See http://faq.pygtk.org/index.py?req=show&file=faq20.006.htp for details.
This model only allows the main thread to touch the GUI (gtk) part, what is
exactly the hob does.
The following changes since commit 116c075301878dbd769b7f39ec24381ac686502c:
Liping Ke (1):
Make bitbake server type configurable(xmlrpc,none)
are available in the git repository at:
git://git.pokylinux.org/poky-contrib llu/build_again
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=llu/build_again
Lianhao Lu (1):
bitbake/hob: Fixed the "build again" hang.
bitbake/lib/bb/ui/crumbs/hobeventhandler.py | 3 +++
bitbake/lib/bb/ui/hob.py | 5 +++--
2 files changed, 6 insertions(+), 2 deletions(-)
^ permalink raw reply [flat|nested] 3+ messages in thread* [IMAGE_CREATOR 1/1] bitbake/hob: Fixed the "build again" hang. 2011-06-10 7:40 [IMAGE_CREATOR 0/1] Fixed the "build again" hang Lianhao Lu @ 2011-06-10 7:40 ` Lianhao Lu 2011-06-10 17:30 ` Joshua Lock 0 siblings, 1 reply; 3+ messages in thread From: Lianhao Lu @ 2011-06-10 7:40 UTC (permalink / raw) To: poky Using gobject.threads_init() instead of gtk.gdk.threads_init(). These two modes are conflict to each other. Using gobject.threads_init() allows only the main thread to touch GUI(gtk) part. Signed-off-by: Lianhao Lu <lianhao.lu@intel.com> --- bitbake/lib/bb/ui/crumbs/hobeventhandler.py | 3 +++ bitbake/lib/bb/ui/hob.py | 5 +++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/bitbake/lib/bb/ui/crumbs/hobeventhandler.py b/bitbake/lib/bb/ui/crumbs/hobeventhandler.py index c474491..a11e6d4 100644 --- a/bitbake/lib/bb/ui/crumbs/hobeventhandler.py +++ b/bitbake/lib/bb/ui/crumbs/hobeventhandler.py @@ -134,6 +134,9 @@ class HobHandler(gobject.GObject): self.building = True self.server.runCommand(["buildTargets", targets, "build"]) + def notify_building_state(self, building): + self.building = building + def cancel_build(self): # Note: this may not be the right way to stop an in-progress build self.server.runCommand(["stateStop"]) diff --git a/bitbake/lib/bb/ui/hob.py b/bitbake/lib/bb/ui/hob.py index ab6022b..46fb563 100644 --- a/bitbake/lib/bb/ui/hob.py +++ b/bitbake/lib/bb/ui/hob.py @@ -63,9 +63,11 @@ class MainWindow (gtk.Window): def running_build_failed_cb(self, running_build): # FIXME: handle this + self.handler.notify_building_state(False) return def running_build_succeeded_cb(self, running_build): + self.handler.notify_building_state(False) label = gtk.Label("Build completed, start another build?") dialog = gtk.Dialog("Build complete", self, @@ -76,7 +78,7 @@ class MainWindow (gtk.Window): label.show() response = dialog.run() dialog.destroy() - if not response == gtk.RESPONSE_YES: + if response == gtk.RESPONSE_YES: self.model.reset() # NOTE: really? self.nb.set_current_page(0) return @@ -555,7 +557,6 @@ class MainWindow (gtk.Window): def main (server, eventHandler): gobject.threads_init() - gtk.gdk.threads_init() taskmodel = TaskListModel() handler = HobHandler(taskmodel, server) -- 1.7.0.4 ^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [IMAGE_CREATOR 1/1] bitbake/hob: Fixed the "build again" hang. 2011-06-10 7:40 ` [IMAGE_CREATOR 1/1] bitbake/hob: " Lianhao Lu @ 2011-06-10 17:30 ` Joshua Lock 0 siblings, 0 replies; 3+ messages in thread From: Joshua Lock @ 2011-06-10 17:30 UTC (permalink / raw) To: poky On Fri, 2011-06-10 at 15:40 +0800, Lianhao Lu wrote: > Using gobject.threads_init() instead of gtk.gdk.threads_init(). These > two modes are conflict to each other. Using gobject.threads_init() > allows only the main thread to touch GUI(gtk) part. Great catch! Thanks for the patch. I'm going to merge just the hunk which drops the gtk.gdk.threads_init() (with your SOB, hope that's OK?) into the image-creator branch as I have changes with similar intent to the other hunks in my WIP tree (josh/hob). Thanks again, Joshua > > Signed-off-by: Lianhao Lu <lianhao.lu@intel.com> > --- > bitbake/lib/bb/ui/crumbs/hobeventhandler.py | 3 +++ > bitbake/lib/bb/ui/hob.py | 5 +++-- > 2 files changed, 6 insertions(+), 2 deletions(-) > > diff --git a/bitbake/lib/bb/ui/crumbs/hobeventhandler.py b/bitbake/lib/bb/ui/crumbs/hobeventhandler.py > index c474491..a11e6d4 100644 > --- a/bitbake/lib/bb/ui/crumbs/hobeventhandler.py > +++ b/bitbake/lib/bb/ui/crumbs/hobeventhandler.py > @@ -134,6 +134,9 @@ class HobHandler(gobject.GObject): > self.building = True > self.server.runCommand(["buildTargets", targets, "build"]) > > + def notify_building_state(self, building): > + self.building = building > + > def cancel_build(self): > # Note: this may not be the right way to stop an in-progress build > self.server.runCommand(["stateStop"]) > diff --git a/bitbake/lib/bb/ui/hob.py b/bitbake/lib/bb/ui/hob.py > index ab6022b..46fb563 100644 > --- a/bitbake/lib/bb/ui/hob.py > +++ b/bitbake/lib/bb/ui/hob.py > @@ -63,9 +63,11 @@ class MainWindow (gtk.Window): > > def running_build_failed_cb(self, running_build): > # FIXME: handle this > + self.handler.notify_building_state(False) > return > > def running_build_succeeded_cb(self, running_build): > + self.handler.notify_building_state(False) > label = gtk.Label("Build completed, start another build?") > dialog = gtk.Dialog("Build complete", > self, > @@ -76,7 +78,7 @@ class MainWindow (gtk.Window): > label.show() > response = dialog.run() > dialog.destroy() > - if not response == gtk.RESPONSE_YES: > + if response == gtk.RESPONSE_YES: > self.model.reset() # NOTE: really? > self.nb.set_current_page(0) > return > @@ -555,7 +557,6 @@ class MainWindow (gtk.Window): > > def main (server, eventHandler): > gobject.threads_init() > - gtk.gdk.threads_init() > > taskmodel = TaskListModel() > handler = HobHandler(taskmodel, server) -- Joshua Lock Yocto Build System Monkey Intel Open Source Technology Centre ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2011-06-10 17:30 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2011-06-10 7:40 [IMAGE_CREATOR 0/1] Fixed the "build again" hang Lianhao Lu 2011-06-10 7:40 ` [IMAGE_CREATOR 1/1] bitbake/hob: " Lianhao Lu 2011-06-10 17:30 ` Joshua Lock
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.