summaryrefslogtreecommitdiff
path: root/ruby_1_9_3/lib/mutex_m.rb
diff options
context:
space:
mode:
authorusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-05-14 11:39:21 +0000
committerusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-05-14 11:39:21 +0000
commite76eb06feb024828034379797129d92522e28516 (patch)
tree1326c625c233ba2554043203a7697f5e3d4c49e5 /ruby_1_9_3/lib/mutex_m.rb
parentaa6e98139c8e1ea442fb2182341aaa08ff55b529 (diff)
parentbede15ac5e701ed08f3fc64c2dba03d3f393c652 (diff)
add tag v1_9_3_426v1_9_3_426
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/tags/v1_9_3_426@40737 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ruby_1_9_3/lib/mutex_m.rb')
-rw-r--r--ruby_1_9_3/lib/mutex_m.rb95
1 files changed, 0 insertions, 95 deletions
diff --git a/ruby_1_9_3/lib/mutex_m.rb b/ruby_1_9_3/lib/mutex_m.rb
deleted file mode 100644
index 722754b8d5..0000000000
--- a/ruby_1_9_3/lib/mutex_m.rb
+++ /dev/null
@@ -1,95 +0,0 @@
-#
-# mutex_m.rb -
-# $Release Version: 3.0$
-# $Revision: 1.7 $
-# Original from mutex.rb
-# by Keiju ISHITSUKA(keiju@ishitsuka.com)
-# modified by matz
-# patched by akira yamada
-#
-# --
-# Usage:
-# require "mutex_m.rb"
-# obj = Object.new
-# obj.extend Mutex_m
-# ...
-# extended object can be handled like Mutex
-# or
-# class Foo
-# include Mutex_m
-# ...
-# end
-# obj = Foo.new
-# this obj can be handled like Mutex
-#
-
-require 'thread'
-
-module Mutex_m
- def Mutex_m.define_aliases(cl)
- cl.module_eval %q{
- alias locked? mu_locked?
- alias lock mu_lock
- alias unlock mu_unlock
- alias try_lock mu_try_lock
- alias synchronize mu_synchronize
- }
- end
-
- def Mutex_m.append_features(cl)
- super
- define_aliases(cl) unless cl.instance_of?(Module)
- end
-
- def Mutex_m.extend_object(obj)
- super
- obj.mu_extended
- end
-
- def mu_extended
- unless (defined? locked? and
- defined? lock and
- defined? unlock and
- defined? try_lock and
- defined? synchronize)
- Mutex_m.define_aliases(singleton_class)
- end
- mu_initialize
- end
-
- # locking
- def mu_synchronize(&block)
- @_mutex.synchronize(&block)
- end
-
- def mu_locked?
- @_mutex.locked?
- end
-
- def mu_try_lock
- @_mutex.try_lock
- end
-
- def mu_lock
- @_mutex.lock
- end
-
- def mu_unlock
- @_mutex.unlock
- end
-
- def sleep(timeout = nil)
- @_mutex.sleep(timeout)
- end
-
- private
-
- def mu_initialize
- @_mutex = Mutex.new
- end
-
- def initialize(*args)
- mu_initialize
- super
- end
-end