mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* lib/sync.rb: bug fix if obj.initialize has parameters when
obj.extend(Sync_m) * lib/mutex_m.rb: modified bit git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1513 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
b2658a3d83
commit
85d105cf8c
3 changed files with 54 additions and 53 deletions
|
@ -25,18 +25,19 @@
|
|||
#
|
||||
|
||||
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
|
||||
unless cl.instance_of?(Module)
|
||||
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
|
||||
self
|
||||
define_aliases(cl) unless cl.instance_of?(Module)
|
||||
end
|
||||
|
||||
def Mutex_m.extend_object(obj)
|
||||
|
@ -50,13 +51,7 @@ module Mutex_m
|
|||
defined? unlock and
|
||||
defined? try_lock and
|
||||
defined? synchronize)
|
||||
eval "class << self
|
||||
alias locked? mu_locked?
|
||||
alias lock mu_lock
|
||||
alias unlock mu_unlock
|
||||
alias try_lock mu_try_lock
|
||||
alias synchronize mu_synchronize
|
||||
end"
|
||||
Mutex_m.define_aliases(class<<self;self;end)
|
||||
end
|
||||
mu_initialize
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue