On Mon, 2011-06-27 at 18:01 +0200, Zdeněk Pavlas wrote:
> ---
>  yum/__init__.py |   28 +++++++++++++++++++++++-----
>  1 files changed, 23 insertions(+), 5 deletions(-)
> 
> diff --git a/yum/__init__.py b/yum/__init__.py
> index 5d268a7..7b2483f 100644
> --- a/yum/__init__.py
> +++ b/yum/__init__.py
> @@ -90,6 +90,7 @@ import StringIO
>  from weakref import proxy as weakref
>  
>  from urlgrabber.grabber import default_grabber
> +from thread import allocate_lock, start_new_thread
>  
>  __version__ = '3.4.2'
>  __version_info__ = tuple([ int(num) for num in __version__.split('.')])
> @@ -1970,7 +1971,6 @@ class YumBase(depsolve.Depsolve):
>              if (self.conf.cache or repo_cached) and errors:
>                  return errors



So - this is a non-starter. We need parallel downloads in yum to run in
A SEPARATE process. This lets us have the benefit of separate selinux
protections over the downloading process and the transaction process.

More importantly the number of things that go unwell in rpm when
threading comes into play is so high that keeping threads out of yum
entirely is worthwhile.

Forking off multiple processes which you communicate with over a pipe is
the preferred method for multiple, parallel downloads in yum.

I'm sorry, but nack.

-sv


_______________________________________________
Yum-devel mailing list
[email protected]
http://lists.baseurl.org/mailman/listinfo/yum-devel

Reply via email to