Project

General

Profile

Actions

Bug #554

closed

Sync_m#sync_try_lockの引数が無視されている

Added by akira (akira yamada) over 15 years ago. Updated almost 13 years ago.

Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
Backport:
[ruby-dev:36233]

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
  •  ret = sync_try_lock_sub(sync_mode)
    
  •  ret = sync_try_lock_sub(mode)
    
    end
    ret
    end

ruby_1_8でも同じです。
=end

Actions #1

Updated by akira (akira yamada) over 15 years ago

=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)

  •  Thread.critical = false
     fail self, sprintf(self::Message, *opt)
    
    end

@@ -129,10 +130,10 @@

# locking methods.
def sync_try_lock(mode = EX)
  • return unlock if sync_mode == UN
  • return unlock if mode == UN

    Thread.critical = true

  • ret = sync_try_lock_sub(sync_mode)
  • ret = sync_try_lock_sub(mode)
    Thread.critical = false
    ret
    end

--
ay

=end

Actions #2

Updated by keiju (Keiju Ishitsuka) over 15 years ago

=begin
けいじゅ@いしつかです.

In [ruby-dev :36234 ] the message: "[ruby-dev:36234] Re: [Bug #554]
Sync_m#sync_try_lockの引数が無視されている ", on Sep/09 22:38(JST)
akira yamada / やまだあきら writes:

http://rubyforge.org/tracker/index.php?func=detail&aid=11680&group_id=426&atid=1700

でした。

akira yamada さんは書きました:

ruby_1_8でも同じです。

(中略)

その通りです.
チェックインの方お願いしてしまってよろしいでしょうか?

__
---------------------------------------------------->> 石塚 圭樹 <<---
---------------------------------->> e-mail: <<---

=end

Actions #3

Updated by akira (akira yamada) over 15 years ago

  • Status changed from Open to Closed
  • % Done changed from 0 to 100

=begin
Applied in changeset r19280.
=end

Actions #4

Updated by akira (akira yamada) over 15 years ago

=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)

  •  Thread.critical = false
     fail self, sprintf(self::Message, *opt)
    
    end

@@ -129,10 +130,10 @@

# locking methods.
def sync_try_lock(mode = EX)
  • return unlock if sync_mode == UN
  • return unlock if mode == UN

    Thread.critical = true

  • 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
  •  Thread.critical = false
     Err::UnknownLocker.Fail(Thread.current)
    
    end

@@ -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

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0