aboutsummaryrefslogtreecommitdiffstats
path: root/actionview/lib
diff options
context:
space:
mode:
Diffstat (limited to 'actionview/lib')
-rw-r--r--actionview/lib/action_view/template.rb8
1 files changed, 6 insertions, 2 deletions
diff --git a/actionview/lib/action_view/template.rb b/actionview/lib/action_view/template.rb
index 2dfb14ab46..f5f64263da 100644
--- a/actionview/lib/action_view/template.rb
+++ b/actionview/lib/action_view/template.rb
@@ -235,11 +235,15 @@ module ActionView
end
end
- def marshal_dump
+
+ # Exceptions are marshaled when using the parallel test runner with DRb, so we need
+ # to ensure that references to the template object can be marshaled as well. This means forgoing
+ # the marshalling of the compiler mutex and instantiating that again on unmarshaling.
+ def marshal_dump # :nodoc:
[ @source, @identifier, @handler, @compiled, @original_encoding, @locals, @virtual_path, @updated_at, @formats, @variants ]
end
- def marshal_load(array)
+ def marshal_load(array) # :nodoc:
@source, @identifier, @handler, @compiled, @original_encoding, @locals, @virtual_path, @updated_at, @formats, @variants = *array
@compile_mutex = Mutex.new
end