summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark J. Titorenko <mark.titorenko@alces-software.com>2014-08-06 16:51:30 +0100
committerMark J. Titorenko <mark.titorenko@alces-software.com>2014-08-06 16:51:30 +0100
commit52346885a048e14b9884ddea156adeb84eba3b6b (patch)
treeb2001d96d42444550c7d2b033a58c984a7a33731
parent75ac07fd8bf42576342134ccff06179cb5a134d7 (diff)
downloadpsych-52346885a048e14b9884ddea156adeb84eba3b6b.tar.gz
Retain reference to target in Registrar so a GC run can't confuse ongoing serialization.
-rw-r--r--lib/psych/visitors/yaml_tree.rb2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/psych/visitors/yaml_tree.rb b/lib/psych/visitors/yaml_tree.rb
index 96260da..2afedb7 100644
--- a/lib/psych/visitors/yaml_tree.rb
+++ b/lib/psych/visitors/yaml_tree.rb
@@ -16,10 +16,12 @@ module Psych
def initialize
@obj_to_id = {}
@obj_to_node = {}
+ @targets = []
@counter = 0
end
def register target, node
+ @targets << target
@obj_to_node[target.object_id] = node
end