summaryrefslogtreecommitdiff
path: root/viengoos
diff options
context:
space:
mode:
authorneal <neal>2008-06-26 05:20:31 +0000
committerneal <neal>2008-06-26 05:20:31 +0000
commitacf372c67575341f8923940d1d06084cdb37ac55 (patch)
tree8cfd26cbb7f4f3e113c821f2b287c2aae4bbabac /viengoos
parent2898c88fb76d7c6c20f0023f0d04d67260a13732 (diff)
2008-06-26 Neal H. Walfield <neal@gnu.org>
* activity.h (activity_charge): Also update ACTIVITY's claimed and disowned statistics, as appropriate.
Diffstat (limited to 'viengoos')
-rw-r--r--viengoos/ChangeLog5
-rw-r--r--viengoos/activity.h22
2 files changed, 19 insertions, 8 deletions
diff --git a/viengoos/ChangeLog b/viengoos/ChangeLog
index 75cdc54..c54f612 100644
--- a/viengoos/ChangeLog
+++ b/viengoos/ChangeLog
@@ -1,3 +1,8 @@
+2008-06-26 Neal H. Walfield <neal@gnu.org>
+
+ * activity.h (activity_charge): Also update ACTIVITY's claimed and
+ disowned statistics, as appropriate.
+
2008-06-24 Neal H. Walfield <neal@gnu.org>
* server.c (server_loop): In the implementation of cap_discard, if
diff --git a/viengoos/activity.h b/viengoos/activity.h
index 8e439e7..fadf984 100644
--- a/viengoos/activity.h
+++ b/viengoos/activity.h
@@ -201,14 +201,20 @@ activity_charge (struct activity *activity, int objects)
"%d <= %d", -objects, activity->frames_local);
activity->frames_local += objects;
- activity_for_each_ancestor (activity,
- ({
- if (objects < 0)
- assertx (-objects <= activity->frames_total,
- "%d <= %d",
- -objects, activity->frames_total);
- activity->frames_total += objects;
- }));
+ activity_for_each_ancestor
+ (activity,
+ ({
+ if (objects < 0)
+ assertx (-objects <= activity->frames_total,
+ "%d <= %d",
+ -objects, activity->frames_total);
+ activity->frames_total += objects;
+
+ if (objects > 0)
+ ACTIVITY_STATS (activity)->claimed += objects;
+ else
+ ACTIVITY_STATS (activity)->disowned += -objects;
+ }));
}
#define ACTIVITY_STAT_UPDATE(__asu_activity, __asu_field, __asu_delta) \