[PATCH 1/3] Initialize threading when the module is imported.
Brian C. Lane
bcl at redhat.com
Fri Aug 22 22:31:21 UTC 2014
On Fri, Aug 22, 2014 at 05:19:33PM -0400, David Shea wrote:
> This way threadMgr is initialized the first time the module is loaded
> and is never set to None.
> ---
> anaconda | 8 +++-----
> pyanaconda/threads.py | 7 +++----
> 2 files changed, 6 insertions(+), 9 deletions(-)
>
> diff --git a/anaconda b/anaconda
> index 7fb9370..1cffff7 100755
> --- a/anaconda
> +++ b/anaconda
> @@ -903,11 +903,9 @@ if __name__ == "__main__":
> setupPythonUpdates()
> setupPythonPath()
>
> - # init threading before Gtk can do anything and before we start using threads
> - # initThreading initializes the threadMgr instance, import it afterwards
> - from pyanaconda.threads import initThreading, AnacondaThread
> - initThreading()
> - from pyanaconda.threads import threadMgr
> + # Import and initialize threading before Gtk can do anything and before we
> + # start using threads.
> + from pyanaconda.threads import threadMgr, AnacondaThread
>
> import gettext
> _ = lambda x: gettext.ldgettext("anaconda", x)
> diff --git a/pyanaconda/threads.py b/pyanaconda/threads.py
> index eea1da6..7511195 100644
> --- a/pyanaconda/threads.py
> +++ b/pyanaconda/threads.py
> @@ -234,13 +234,12 @@ class AnacondaThread(threading.Thread):
> threadMgr.remove(self.name)
> log.info("Thread Done: %s (%s)", self.name, self.ident)
>
> -def initThreading():
> +def _initThreading():
> """Set up threading for anaconda's use. This method must be called before
> any GTK or threading code is called, or else threads will only run when
> an event is triggered in the GTK main loop. And IT HAS TO BE CALLED IN
> THE MAIN THREAD.
> """
> - global threadMgr
> - threadMgr = ThreadManager()
> + return ThreadManager()
>
> -threadMgr = None
> +threadMgr = _initThreading()
> --
> 1.9.3
I *think* this is ok, but wonder why it was done in anaconda before? Are
there any other users of pyanaconda.thread that wouldn't want it
initialized on import, like firstboot maybe?
--
Brian C. Lane | Anaconda Team | IRC: bcl #anaconda | Port Orchard, WA (PST8PDT)
More information about the anaconda-patches
mailing list