diff options
author | Mark J. Titorenko <mark.titorenko@alces-software.com> | 2014-08-06 16:51:30 +0100 |
---|---|---|
committer | Mark J. Titorenko <mark.titorenko@alces-software.com> | 2014-08-06 16:51:30 +0100 |
commit | 52346885a048e14b9884ddea156adeb84eba3b6b (patch) | |
tree | b2001d96d42444550c7d2b033a58c984a7a33731 | |
parent | 75ac07fd8bf42576342134ccff06179cb5a134d7 (diff) | |
download | psych-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.rb | 2 |
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 |