[Yum-devel] [PATCH 2/4] use pipe instead of tempfiles.. ~5% speedup

James Antill james at fedoraproject.org
Wed Nov 28 14:51:09 UTC 2012


On Wed, 2012-11-28 at 04:25 -0500, Zdenek Pavlas wrote:
> >  One downside to this is that you need to deal with with all the
> > possible deadlock issues. Eg. you now have:
> > ..
> > ...and if we ever block on one side of a worker, while it's blocked
> > on the other side we deadlock.
> 
> I've cheated a bit there, parent reads from worker's stdout only.
> Stderr is not redirected, it goes directly to console/whatever,
> so worker never blocks on stderr.write()..

 Ahh, that explains why I couldn't see where you were reading from that
then :).
 On the other hand, I'm pretty sure that technically breaks the API as
there'll be no way to create a graphical createrepo and capture the
stderr logging now?

> I still don't get why some messages are printed to stdout and some
> to stderr.. do we really need to log both?

 It's all to do with their logging level etc., I thought ... but for the
workers I'd guess everything they print (apart from the actual data)
could/should be an error.

> Could be fixed either by select()ing, or updating worker.py
> to always print errors on stdout (would prefer that)

 That we can't do due to things like ./run_cmd > /dev/null ... which
should print errors.



More information about the Yum-devel mailing list