On Tue, 2012-06-12 at 17:33 -0700, Brian C. Lane wrote: > From: "Brian C. Lane" <bcl@xxxxxxxxxx> > > The Queue poll inside the GLib idle state was causing 100% CPU usage, it > was being called multiple times per second. It would be more efficient > to be able to use a select() or poll() with the Queue, but that isn't > possible. So, run the Queue processing in a 1 second timeout. CPU usage > drops to almost nothing. Looks okay to me. > --- > pyanaconda/ui/gui/hubs/__init__.py | 3 ++- > 1 files changed, 2 insertions(+), 1 deletions(-) > > diff --git a/pyanaconda/ui/gui/hubs/__init__.py b/pyanaconda/ui/gui/hubs/__init__.py > index 498f6dc..40cc6ef 100644 > --- a/pyanaconda/ui/gui/hubs/__init__.py > +++ b/pyanaconda/ui/gui/hubs/__init__.py > @@ -229,6 +229,7 @@ class Hub(UIObject): > # acting on. If no such spoke exists, throw the message away. > spoke = self._spokes.get(args[0], None) > if not spoke: > + q.task_done() > continue > > if code in [communication.HUB_CODE_READY, communication.HUB_CODE_NOT_READY]: > @@ -251,7 +252,7 @@ class Hub(UIObject): > UIObject.refresh(self) > self._createBox() > > - self._update_spoke_id = GLib.idle_add(self._update_spokes) > + self._update_spoke_id = GLib.timeout_add_seconds(1, self._update_spokes) > > ### SIGNAL HANDLERS > _______________________________________________ Anaconda-devel-list mailing list Anaconda-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/anaconda-devel-list