- Fixed bug that causes tasks awaking from their waiting state to not
  be written back to the pending file.
This commit is contained in:
Paul Beckingham
2009-07-09 22:16:58 -04:00
parent c275ded443
commit f790d52f62

View File

@@ -411,6 +411,7 @@ int TDB::commit ()
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
// Scans the pending tasks for any that are completed or deleted, and if so, // Scans the pending tasks for any that are completed or deleted, and if so,
// moves them to the completed.data file. Returns a count of tasks moved. // moves them to the completed.data file. Returns a count of tasks moved.
// Now reverts expired waiting tasks to pending.
int TDB::gc () int TDB::gc ()
{ {
Timer t ("TDB::gc"); Timer t ("TDB::gc");
@@ -451,6 +452,7 @@ int TDB::gc ()
{ {
task->setStatus (Task::pending); task->setStatus (Task::pending);
task->remove ("wait"); task->remove ("wait");
++count;
} }
still_pending.push_back (*task); still_pending.push_back (*task);