Bug #554
closed
Sync_m#sync_try_lockの引数が無視されている
Added by akira (akira yamada) about 16 years ago.
Updated over 13 years ago.
Description
=begin
こうだったりしないでしょうか?:
--- lib/sync.rb (revision 19272)
+++ lib/sync.rb (working copy)
@@ -126,9 +126,9 @@
# locking methods.
def sync_try_lock(mode = EX)
- return unlock if sync_mode == UN
- return unlock if mode == UN
@sync_mutex.synchronize do
ruby_1_8でも同じです。
=end
=begin
http://rubyforge.org/tracker/index.php?func=detail&aid=11680&group_id=426&atid=1700
でした。
akira yamada さんは書きました:
ruby_1_8でも同じです。
--- lib/sync.rb (revision 19264)
+++ lib/sync.rb (working copy)
@@ -54,6 +54,7 @@
# exceptions
class Err < StandardError
def Err.Fail(*opt)
@@ -129,10 +130,10 @@
# locking methods.
def sync_try_lock(mode = EX)
- return unlock if sync_mode == UN
- ret = sync_try_lock_sub(sync_mode)
- ret = sync_try_lock_sub(mode)
Thread.critical = false
ret
end
--
ay
=end
- Status changed from Open to Closed
- % Done changed from 0 to 100
=begin
Applied in changeset r19280.
=end
=begin
石塚圭樹 さんは書きました:
http://rubyforge.org/tracker/index.php?func=detail&aid=11680&group_id=426&atid=1700
その通りです.
チェックインの方お願いしてしまってよろしいでしょうか?
trunkにcommitしました。
ruby_1_8のほうはよく見るとFailを呼ぶ前に
Thread.critical=false
としているところがあるのですが、
Failの中ですべて
Thread.critical=false
にしてしまってもよいでしょうか。
もしそうだとすると、こうですかね?:
--- lib/sync.rb (リビジョン 19264)
+++ lib/sync.rb (作業コピー)
@@ -54,6 +54,7 @@
# exceptions
class Err < StandardError
def Err.Fail(*opt)
@@ -129,10 +130,10 @@
# locking methods.
def sync_try_lock(mode = EX)
- return unlock if sync_mode == UN
- ret = sync_try_lock_sub(sync_mode)
- ret = sync_try_lock_sub(mode)
Thread.critical = false
ret
end
@@ -156,7 +157,6 @@
def sync_unlock(m = EX)
Thread.critical = true
if sync_mode == UN
@@ -165,7 +165,6 @@
runnable = false
case m
when UN
-
Thread.critical = false
Err::UnknownLocker.Fail(Thread.current)
when EX
@@ -291,7 +290,6 @@
ret = false
end
else
-
Thread.critical = false
Err::LockModeFailer.Fail mode
end
return ret
--
やまだ
=end
Also available in: Atom
PDF
Like0
Like0Like0Like0Like0