Backport #8891

Mutex#unlock が trap handlerから呼べない

Added by Motohiro KOSAKI 7 months ago. Updated 7 months ago.

[ruby-core:57120]
Status:Closed
Priority:Normal
Assignee:Tomoyuki Chikanaga

Description

[ruby-dev: 46644] で Mutex#try_lock は trapから呼べるように仕様変えたと言っているのに
unlockが依然として例外あげるので実質そうなっていませんでした。

http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/46644

確認不足、申し訳ない。直します。

Associated revisions

Revision 42926
Added by Tomoyuki Chikanaga 7 months ago

merge revision(s) 42906: [Backport #8891]

* thread.c (rb_mutex_unlock): Mutex#unlock no longer raise
  an exception even if uses on trap. [Bug #8891]

History

#1 Updated by Motohiro KOSAKI 7 months ago

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

This issue was solved with changeset r42906.
Motohiro, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.


  • thread.c (rbmutexunlock): Mutex#unlock no longer raise an exception even if uses on trap. [Bug #8891]

#2 Updated by Tomoyuki Chikanaga 7 months ago

  • Backport changed from 1.9.3: UNKNOWN, 2.0.0: UNKNOWN to 1.9.3: DONTNEED, 2.0.0: REQUIRED

トラップハンドラ内で try_lock を許すようにしたのが r37922 (2012-11-28) だと思うので 2.0.0 にも必要ですよね。

#3 Updated by Tomoyuki Chikanaga 7 months ago

  • Tracker changed from Bug to Backport
  • Project changed from ruby-trunk to Backport200
  • Category deleted (core)
  • Status changed from Closed to Assigned
  • Assignee changed from Motohiro KOSAKI to Tomoyuki Chikanaga
  • Target version deleted (2.1.0)

#4 Updated by Tomoyuki Chikanaga 7 months ago

  • Status changed from Assigned to Closed

This issue was solved with changeset r42926.
Motohiro, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.


merge revision(s) 42906: [Backport #8891]

* thread.c (rb_mutex_unlock): Mutex#unlock no longer raise
  an exception even if uses on trap. [Bug #8891]

#5 Updated by Motohiro KOSAKI 7 months ago

nagachikaさん、そのとおりです。対応感謝します

Also available in: Atom PDF