[#43467] [Q] thread->interrupt_flag が適切に排他制御されていないように見える — KOSAKI Motohiro <kosaki.motohiro@...>

kosakiです

15 messages 2011/05/08
[#43482] Re: [Q] thread->interrupt_flag が適切に排他制御されていないように見える — SASADA Koichi <ko1@...> 2011/05/08

 ささだです.

[#43486] Re: [Q] thread->interrupt_flag が適切に排他制御されていないように見える — KOSAKI Motohiro <kosaki.motohiro@...> 2011/05/09

>  ささだです.

[#43487] Re: [Q] thread->interrupt_flag が適切に排他制御されていないように見える — SASADA Koichi <ko1@...> 2011/05/09

 ささだです.

[#43488] Re: [Q] thread->interrupt_flag が適切に排他制御されていないように見える — KOSAKI Motohiro <kosaki.motohiro@...> 2011/05/09

>  ささだです.

[#43489] Re: [Q] thread->interrupt_flag が適切に排他制御されていないように見える — KOSAKI Motohiro <kosaki.motohiro@...> 2011/05/09

自己解決しました

[#43500] Re: [Q] thread->interrupt_flag が適切に排他制御されていないように見える — SASADA Koichi <ko1@...> 2011/05/09

 ささだです.

[#43501] Re: [Q] thread->interrupt_flag が適切に排他制御されていないように見える — KOSAKI Motohiro <kosaki.motohiro@...> 2011/05/09

>> ということは危ないのは RUBY_VM_SET_INTERRUPT() がロストしたときに、タイムアウトなしの

[#43468] Re: [ruby-changes:19438] Ruby:r31478 (trunk): * test/date/*.rb: use skip /w messages. — KOSAKI Motohiro <kosaki.motohiro@...>

2011/5/8 tadf <ko1@atdot.net>:

8 messages 2011/05/08

[#43476] [Ruby 1.9 - Feature #4653][Open] [PATCH 1/1] new method Enumerable#rude_map — Shyouhei Urabe <shyouhei@...>

16 messages 2011/05/08

[#43493] [Ruby 1.9 - Feature #4657][Open] add option to hide skip messages on unit/test — Shota Fukumori <sorah@...>

11 messages 2011/05/09

[#43502] draft schedule of Ruby 1.9.3 — "Yuki Sonoda (Yugui)" <yugui@...>

-----BEGIN PGP SIGNED MESSAGE-----

23 messages 2011/05/09
[#43505] Re: draft schedule of Ruby 1.9.3 — "U.Nakamura" <usa@...> 2011/05/10

Hello,

[#43513] Re: draft schedule of Ruby 1.9.3 — KOSAKI Motohiro <kosaki.motohiro@...> 2011/05/10

(ruby-coreはずしました)

[#43587] [Ruby 1.9 - Feature #4788][Open] resolv.rb refactoring — Makoto Kishimoto <redmine@...>

15 messages 2011/05/27

[ruby-dev:43529] Re: [Q] thread->interrupt_flag が適切に排他制御されていないように見える

From: SASADA Koichi <ko1@...>
Date: 2011-05-11 14:24:51 UTC
List: ruby-dev #43529
 ささだです.

(2011/05/11 22:54), Yukihiro Matsumoto wrote:
> In message "Re: [ruby-dev:43527] Re: [Q] thread->interrupt_flag 	が適切に排他制御されていないように見える"
>     on Wed, 11 May 2011 22:52:36 +0900, KOSAKI Motohiro <kosaki.motohiro@gmail.com> writes:
> 
> |しばらく考えたところ、書き込み側で atomic ops 使えば十分という気がしてきました。
> |それなら、readerは速度低下0なのでパフォーマンス問題がおこりようがないし。
> |Linuxでしかテストしてませんが、こんなもんでどうでしょうか?
> 
> コミットして試しましょうよ。non-Linuxの方、trunkをテストして
> くださいませんか?

 この問題はちょっと特殊なので,「テストして通ったらOK」なものではないと
思います.以下,理由.

1. 再現するためのテストがない

 今回の問題は,あるレアケースにおいて競合の問題が起こりうる,という小崎
さんの指摘に寄ります.ただし,レアケースであるため,必ず再現するテストは
ありません.これがきちんと正しく治っているかどうかの判断するためには,無
理矢理そういうシチュエーションを起こすテストを考えるか,コードを見て確認
するしかないと思います.


2. GCC/Windows 以外のプラットホームでは解決していない

 今回のパッチは,gcc 拡張,もしくは Windows の atomic API を用いるもの
になっています(ちなみに,rb_atomic_t は,サイズ指定は含めなくていいんだ
ろうか).そのため,これらをサポートしていないプラットホームでは解決しな
いんでないかなー,などと思います.ただ,1 の理由でそれに気づく可能性は少
ないのではないかと思います. 

 これは,どこまで頑張るか,って話だとは思うのですが.

-- 
// SASADA Koichi at atdot dot net

In This Thread