From 7f87cbc2e5289f328c3278a991519068d8747374 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Fri, 5 Apr 2013 21:21:19 +0000 Subject: add optional thread-safety module This can make Mahoro easier-to-use in multi-threaded apps where magic concurrency is not required. For real concurrency, it is recommended users create per-thread Mahoro objects. --- test.rb | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'test.rb') diff --git a/test.rb b/test.rb index 75e46d6..5c2c23d 100755 --- a/test.rb +++ b/test.rb @@ -2,6 +2,7 @@ require 'test/unit' require 'mahoro' +require 'mahoro/thread_safe' require 'pathname' class MahoroTestCase < Test::Unit::TestCase @@ -90,6 +91,14 @@ class MahoroTestCase < Test::Unit::TestCase Mahoro.compile "magic.sample\0" end end + + def test_thread_safe + before = @m.method(:file) + @m.extend(Mahoro::ThreadSafe) + @m.flags = Mahoro::NONE + assert_c_text(@m.file('mahoro.c')) + assert_not_equal(before.object_id, @m.method(:file).object_id) + end end # arch-tag: test -- cgit v1.2.3-24-ge0c7