public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Zac Medico" <zmedico@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/portage:master commit in: pym/_emerge/resolver/
Date: Thu,  5 Apr 2012 19:37:55 +0000 (UTC)	[thread overview]
Message-ID: <1333654660.eba99d86fe3bf43488c5df09419218d4b2941e90.zmedico@gentoo> (raw)

commit:     eba99d86fe3bf43488c5df09419218d4b2941e90
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Thu Apr  5 19:37:40 2012 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Thu Apr  5 19:37:40 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=eba99d86

Limit long slot conflict loop for bug #410801.

---
 pym/_emerge/resolver/slot_collision.py |   18 +++++++++++++++---
 1 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/pym/_emerge/resolver/slot_collision.py b/pym/_emerge/resolver/slot_collision.py
index 1d522aa..a1c8714 100644
--- a/pym/_emerge/resolver/slot_collision.py
+++ b/pym/_emerge/resolver/slot_collision.py
@@ -1,4 +1,4 @@
-# Copyright 2010-2011 Gentoo Foundation
+# Copyright 2010-2012 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 from __future__ import print_function
@@ -80,6 +80,8 @@ class slot_conflict_handler(object):
 	the needed USE changes and prepare the message for the user.
 	"""
 
+	_check_configuration_max = 1024
+
 	def __init__(self, depgraph):
 		self.depgraph = depgraph
 		self.myopts = depgraph._frozen_config.myopts
@@ -663,14 +665,24 @@ class slot_conflict_handler(object):
 
 		solutions = []
 		sol_gen = _solution_candidate_generator(all_involved_flags)
-		while(True):
+		checked = 0
+		while True:
 			candidate = sol_gen.get_candidate()
 			if not candidate:
 				break
 			solution = self._check_solution(config, candidate, all_conflict_atoms_by_slotatom)
+			checked += 1
 			if solution:
 				solutions.append(solution)
-		
+
+			if checked >= self._check_configuration_max:
+				# TODO: Implement early elimination for candidates that would
+				# change forced or masked flags, and don't count them here.
+				if self.debug:
+					writemsg("\nAborting _check_configuration due to "
+						"excessive number of candidates.\n", noiselevel=-1)
+				break
+
 		if self.debug:
 			if not solutions:
 				writemsg("No viable solutions. Rejecting configuration.\n", noiselevel=-1)



             reply	other threads:[~2012-04-05 19:38 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-05 19:37 Zac Medico [this message]
  -- strict thread matches above, loose matches on Subject: below --
2017-10-04  0:30 [gentoo-commits] proj/portage:master commit in: pym/_emerge/resolver/ Zac Medico
2016-12-19  5:15 Zac Medico
2016-05-27  8:33 Alexander Berntsen
2015-08-03 18:36 Zac Medico
2015-07-29 18:44 Zac Medico
2014-12-13 14:51 Arfrever Frehtes Taifersar Arahesis
2014-08-23  7:21 Zac Medico
2014-02-23 21:38 Sebastian Luther
2014-02-05 19:42 Sebastian Luther
2014-02-05 19:42 Sebastian Luther
2013-03-20 20:32 Zac Medico
2013-03-20 19:23 Zac Medico
2013-03-18 21:28 Zac Medico
2013-03-18 21:12 Zac Medico
2013-03-18 20:58 Zac Medico
2013-02-28  0:25 Zac Medico
2013-02-28  0:12 Zac Medico
2013-02-27 23:39 Zac Medico
2013-01-24  1:18 Zac Medico
2012-10-15 17:17 Arfrever Frehtes Taifersar Arahesis
2012-10-15  4:06 Arfrever Frehtes Taifersar Arahesis
2012-10-14 20:02 Arfrever Frehtes Taifersar Arahesis
2012-10-14 19:54 Arfrever Frehtes Taifersar Arahesis
2012-10-14  2:53 Zac Medico
2012-10-14  2:44 Zac Medico
2012-09-25  2:00 Zac Medico
2012-09-24  3:12 Zac Medico
2012-09-14  2:08 Zac Medico
2012-09-14  1:04 Zac Medico
2012-06-27 21:56 Zac Medico
2012-06-23  6:00 Zac Medico
2012-06-21  4:43 Zac Medico
2012-06-20 21:24 Zac Medico
2012-03-22 19:00 Zac Medico
2012-03-22 18:10 Zac Medico
2012-03-22 17:38 Zac Medico
2012-03-22 17:15 Zac Medico
2012-03-13 17:22 Zac Medico
2012-01-28  2:23 Arfrever Frehtes Taifersar Arahesis
2012-01-28  1:51 Arfrever Frehtes Taifersar Arahesis
2012-01-23 17:13 Arfrever Frehtes Taifersar Arahesis
2012-01-22  3:57 Arfrever Frehtes Taifersar Arahesis
2012-01-22  3:47 Arfrever Frehtes Taifersar Arahesis
2011-11-18  5:58 Zac Medico
2011-11-18  1:43 Zac Medico
2011-11-07 18:34 Zac Medico
2011-11-07  7:37 Zac Medico
2011-10-19 21:32 Zac Medico
2011-10-19 21:25 Zac Medico
2011-10-02 20:11 Zac Medico
2011-09-17 17:51 Zac Medico
2011-07-27 10:34 Zac Medico
2011-07-10 13:35 Zac Medico
2011-07-10 12:23 Zac Medico
2011-07-10 10:41 Zac Medico
2011-07-10  1:58 Zac Medico
2011-07-10  1:31 Zac Medico
2011-07-09 22:24 Zac Medico
2011-06-21  8:15 Zac Medico
2011-06-11  1:31 Zac Medico
2011-03-15 22:59 Zac Medico

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1333654660.eba99d86fe3bf43488c5df09419218d4b2941e90.zmedico@gentoo \
    --to=zmedico@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox