Mailinglist Archive: zypp-commit (606 mails)

< Previous Next >
[zypp-commit] r9371 - /trunk/sat-solver/src/solver.c
  • From: mlschroe@xxxxxxxxxxxxxxxx
  • Date: Fri, 04 Apr 2008 10:09:22 -0000
  • Message-id: <20080404100922.A1B053415C@xxxxxxxxxxxxxxxx>
Author: mlschroe
Date: Fri Apr 4 12:09:22 2008
New Revision: 9371

URL: http://svn.opensuse.org/viewcvs/zypp?rev=9371&view=rev
Log:
- fix core dump, sorry

Modified:
trunk/sat-solver/src/solver.c

Modified: trunk/sat-solver/src/solver.c
URL:
http://svn.opensuse.org/viewcvs/zypp/trunk/sat-solver/src/solver.c?rev=9371&r1=9370&r2=9371&view=diff
==============================================================================
--- trunk/sat-solver/src/solver.c (original)
+++ trunk/sat-solver/src/solver.c Fri Apr 4 12:09:22 2008
@@ -658,6 +658,23 @@
if (solv->decisionq.elements[i] == -v)
break;
assert(i < solv->decisionq.count);
+ if (v == -SYSTEMSOLVABLE) {
+ /* conflict with system solvable */
+ queue_push(&solv->problems, solv->learnt_pool.count);
+ queue_push(&solv->learnt_pool, ri);
+ queue_push(&solv->learnt_pool, 0);
+ POOL_DEBUG(SAT_DEBUG_UNSOLVABLE, "conflict with system solvable,
disabling rule #%d\n", ri);
+ if (ri < solv->systemrules)
+ v = -(solv->ruletojob.elements[ri - solv->jobrules] + 1);
+ else
+ v = ri;
+ queue_push(&solv->problems, v);
+ queue_push(&solv->problems, 0);
+ disableproblem(solv, v);
+ continue;
+ }
+ assert(solv->decisionq_why.elements[i]);
+#if 0
/*OBSOLETE*/
if (solv->decisionq_why.elements[i] == 0)
{
@@ -678,6 +695,7 @@
disableproblem(solv, v);
continue;
}
+#endif
if (solv->decisionq_why.elements[i] < solv->jobrules)
{
/* conflict with rpm rule assertion */

--
To unsubscribe, e-mail: zypp-commit+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: zypp-commit+help@xxxxxxxxxxxx

< Previous Next >
This Thread
  • No further messages