From 85d105cf8c7c664d34bf86b8d72c728cb5b6e7ab Mon Sep 17 00:00:00 2001 From: keiju Date: Wed, 6 Jun 2001 14:19:33 +0000 Subject: [PATCH] * 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 --- ChangeLog | 7 +++++ lib/mutex_m.rb | 29 +++++++++------------ lib/sync.rb | 71 +++++++++++++++++++++++++------------------------- 3 files changed, 54 insertions(+), 53 deletions(-) diff --git a/ChangeLog b/ChangeLog index afd35b5d55..4453b8746e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Wed Jun 6 23:02:36 2001 Keiju Ishitsuka + + * lib/sync.rb: bug fix if obj.initialize has parameters when + obj.extend(Sync_m) + + * lib/mutex_m.rb: modified bit + Wed Jun 6 16:11:06 2001 Yukihiro Matsumoto * eval.c (rb_load): should check if tainted even when wrap is diff --git a/lib/mutex_m.rb b/lib/mutex_m.rb index fe05a45e9d..0192d83bee 100644 --- a/lib/mutex_m.rb +++ b/lib/mutex_m.rb @@ -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<