[Aptitude-svn-commit] r4090 - in branches/aptitude-0.3/aptitude: . src/generic

Daniel Burrows dburrows at costa.debian.org
Thu Sep 15 02:05:07 UTC 2005


Author: dburrows
Date: Thu Sep 15 02:05:04 2005
New Revision: 4090

Modified:
   branches/aptitude-0.3/aptitude/ChangeLog
   branches/aptitude-0.3/aptitude/src/generic/resolver_manager.cc
Log:
Don't let the solution pointer go past one-off-the-end-of-the-list.

Modified: branches/aptitude-0.3/aptitude/ChangeLog
==============================================================================
--- branches/aptitude-0.3/aptitude/ChangeLog	(original)
+++ branches/aptitude-0.3/aptitude/ChangeLog	Thu Sep 15 02:05:04 2005
@@ -1,5 +1,10 @@
 2005-09-14  Daniel Burrows  <dburrows at debian.org>
 
+	* src/generic/resolver_manager.cc:
+
+	  Don't let the solution pointer go past
+	  one-off-the-end-of-the-list; fixes some uncaught exceptions.
+
 	* src/resolver_manager.cc, src/resolver_manager.h:
 
 	  Add coarse-grained threading support: the manager can start a

Modified: branches/aptitude-0.3/aptitude/src/generic/resolver_manager.cc
==============================================================================
--- branches/aptitude-0.3/aptitude/src/generic/resolver_manager.cc	(original)
+++ branches/aptitude-0.3/aptitude/src/generic/resolver_manager.cc	Thu Sep 15 02:05:04 2005
@@ -580,7 +580,11 @@
 {
   threads::mutex::lock l(mutex);
 
-  ++selected_solution;
+  threads::mutex::lock sol_l(solutions_mutex);
+  if(selected_solution < solutions.size())
+    ++selected_solution;
+  sol_l.release();
+
   selected_solution_changed();
 }
 



More information about the Aptitude-svn-commit mailing list