When dblink is looping over files for merge/unmerge, temporarily yield to the
authorZac Medico <zmedico@gentoo.org>
Thu, 17 Jul 2008 22:41:04 +0000 (22:41 -0000)
committerZac Medico <zmedico@gentoo.org>
Thu, 17 Jul 2008 22:41:04 +0000 (22:41 -0000)
commitf202826c41db708712a1847c11f2298b1314b2d9
tree088fbf35bdc00d18365b610d9c5567ca43361808
parent37ffbba1a6f77d177bb6535ddc6727703f12808a
When dblink is looping over files for merge/unmerge, temporarily yield to the
scheduler each time a fixed number of files are processed (currently 20).
This gives the scheduler an opportunity to service pending poll events. This
is implemented with a new PollScheduler._schedule_yield() method which calls
poll() exactly once, without blocking, and any services any resulting poll
events.

svn path=/main/trunk/; revision=11116
pym/_emerge/__init__.py
pym/portage/dbapi/vartree.py