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

Daniel Burrows dburrows at costa.debian.org
Thu Sep 22 05:37:13 UTC 2005


Author: dburrows
Date: Thu Sep 22 05:37:09 2005
New Revision: 4165

Modified:
   branches/aptitude-0.3/aptitude/ChangeLog
   branches/aptitude-0.3/aptitude/src/generic/resolver_manager.cc
Log:
Allow suspensions to be manually cancelled.

Modified: branches/aptitude-0.3/aptitude/ChangeLog
==============================================================================
--- branches/aptitude-0.3/aptitude/ChangeLog	(original)
+++ branches/aptitude-0.3/aptitude/ChangeLog	Thu Sep 22 05:37:09 2005
@@ -1,5 +1,10 @@
 2005-09-21  Daniel Burrows  <dburrows at debian.org>
 
+	* src/generic/resolver_manager.cc:
+
+	  Add support for cancelling a suspension before destroying the
+	  corresponding background_suspender object.
+
 	* src/generic/resolver_manager.cc, src/generic/resolver_manager.h:
 
 	  Add a routine that waits for the resolver to perform some number

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 22 05:37:09 2005
@@ -74,16 +74,25 @@
 class resolver_manager::background_suspender
 {
   resolver_manager &m;
+
+  bool suspended;
 public:
   background_suspender(resolver_manager &_m)
-    :m(_m)
+    :m(_m), suspended(true)
   {
     m.suspend_background_thread();
   }
 
+  void unsuspend()
+  {
+    if(suspended)
+      m.unsuspend_background_thread();
+  }
+
   ~background_suspender()
   {
-    m.unsuspend_background_thread();
+    if(suspended)
+      m.unsuspend_background_thread();
   }
 };
 



More information about the Aptitude-svn-commit mailing list