aboutsummaryrefslogtreecommitdiff
path: root/lib/std/Progress.zig
diff options
context:
space:
mode:
Diffstat (limited to 'lib/std/Progress.zig')
-rw-r--r--lib/std/Progress.zig5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/std/Progress.zig b/lib/std/Progress.zig
index 07f9077844..925cefcb74 100644
--- a/lib/std/Progress.zig
+++ b/lib/std/Progress.zig
@@ -93,7 +93,9 @@ pub const Node = struct {
/// This is the same as calling `start` and then `end` on the returned `Node`. Thread-safe.
pub fn completeOne(self: *Node) void {
- self.activate();
+ if (self.parent) |parent| {
+ @atomicStore(?*Node, &parent.recently_updated_child, self, .Release);
+ }
_ = @atomicRmw(usize, &self.unprotected_completed_items, .Add, 1, .Monotonic);
self.context.maybeRefresh();
}
@@ -120,6 +122,7 @@ pub const Node = struct {
pub fn activate(self: *Node) void {
if (self.parent) |parent| {
@atomicStore(?*Node, &parent.recently_updated_child, self, .Release);
+ self.context.maybeRefresh();
}
}