* [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.