summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--test/dl/test_callback.rb7
2 files changed, 10 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 906f1f8581..58e4fcd1d9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Tue Aug 30 22:34:45 2011 CHIKANAGA Tomoyuki <nagachika00@gmail.com>
+
+ * test/dl/test_callback.rb (test_callback_with_string): prevents
+ temporary string from GC.
+
Tue Aug 30 22:25:38 2011 NAKAMURA Usaku <usa@ruby-lang.org>
* vm_insnhelper.c (vm_call_cfunc): revert r33112. RB_GC_GUARD macro
diff --git a/test/dl/test_callback.rb b/test/dl/test_callback.rb
index ed3be661e7..fb24ff0ca5 100644
--- a/test/dl/test_callback.rb
+++ b/test/dl/test_callback.rb
@@ -48,8 +48,11 @@ module DL
func = CFunc.new(addr, TYPE_VOID, 'test')
f = Function.new(func, [TYPE_VOIDP])
- f.call(dlwrap('foo'))
- assert_equal 'foo', called_with
+ # Don't remove local variable arg.
+ # This necessary to protect objects from GC.
+ arg = 'foo'
+ f.call(dlwrap(arg))
+ assert_equal arg, called_with
end
def test_call_callback