Module: tools Branch: master Commit: 24091deb5078660f608d7ad7568664574fc0dcfa URL: http://source.winehq.org/git/tools.git/?a=commit;h=24091deb5078660f608d7ad75...
Author: Francois Gouget fgouget@codeweavers.com Date: Thu Dec 21 12:13:43 2017 +0100
testbot: Avoid reference cycles in the activity report.
Reference cycles cause Perl's primitive reference-count based garbage collector to leak memory.
Signed-off-by: Francois Gouget fgouget@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
testbot/lib/WineTestBot/Activity.pm | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/testbot/lib/WineTestBot/Activity.pm b/testbot/lib/WineTestBot/Activity.pm index 3a9081a..dcc5895 100644 --- a/testbot/lib/WineTestBot/Activity.pm +++ b/testbot/lib/WineTestBot/Activity.pm @@ -25,6 +25,7 @@ WineTestBot::Activity - reconstruct the TestBot's activity from its history rec
=cut
+use Scalar::Util qw(weaken); use WineTestBot::Config; use WineTestBot::Jobs; use WineTestBot::RecordGroups; @@ -112,6 +113,7 @@ sub GetActivity($)
$VMStatus->{host} = $RecordHost; $VMStatus->{vmstatus} = $VMStatus; + weaken($VMStatus->{vmstatus}); # avoid memory cycles $VMStatus->{start} = $Group->{start}; my ($Status, @Extra) = split / /, $Record->Value; $VMStatus->{status} = $Status; @@ -176,6 +178,7 @@ sub GetActivity($) status => "unknown", rows => 1}; $VMStatus->{vmstatus} = $VMStatus; + weaken($VMStatus->{vmstatus}); # avoid memory cycles } $LastStatusVMs{$VM->Name} = $StatusVMs; }