lmi-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lmi-commits] [5815] Add progress meters for potentially lengthy operati


From: Greg Chicares
Subject: [lmi-commits] [5815] Add progress meters for potentially lengthy operations
Date: Thu, 31 Oct 2013 13:43:44 +0000

Revision: 5815
          http://svn.sv.gnu.org/viewvc/?view=rev&root=lmi&revision=5815
Author:   chicares
Date:     2013-10-31 13:43:44 +0000 (Thu, 31 Oct 2013)
Log Message:
-----------
Add progress meters for potentially lengthy operations

Modified Paths:
--------------
    lmi/trunk/group_values.cpp

Modified: lmi/trunk/group_values.cpp
===================================================================
--- lmi/trunk/group_values.cpp  2013-10-31 12:56:34 UTC (rev 5814)
+++ lmi/trunk/group_values.cpp  2013-10-31 13:43:44 UTC (rev 5815)
@@ -631,15 +631,31 @@
         } // End fenv_guard scope.
         } // End for.
 
+    meter = create_progress_meter
+        (cell_values.size()
+        ,"Finalizing all cells"
+        ,progress_meter_mode(emission)
+        );
     for(i = cell_values.begin(); i != cell_values.end(); ++i)
         {
         fenv_guard fg;
         (*i)->FinalizeLifeAllBases();
         composite.PlusEq(*(*i)->ledger_from_av());
+        if(!meter->reflect_progress())
+            {
+            result.completed_normally_ = false;
+            goto done;
+            }
         }
+    meter->culminate();
 
     result.seconds_for_output_ += pre_emit_ledger(file, emission);
 
+    meter = create_progress_meter
+        (cell_values.size()
+        ,"Writing output for all cells"
+        ,progress_meter_mode(emission)
+        );
     for(j = 0, i = cell_values.begin(); i != cell_values.end(); ++i, ++j)
         {
         std::string const name(cells[j]["InsuredName"].str());
@@ -650,7 +666,13 @@
             ,emission
             );
         dawdle(emission);
+        if(!meter->reflect_progress())
+            {
+            result.completed_normally_ = false;
+            goto done;
+            }
         }
+    meter->culminate();
 
     result.seconds_for_output_ += emit_ledger
         (serial_file_path(file, "composite", -1, "hastur")




reply via email to

[Prev in Thread] Current Thread [Next in Thread]