[#45910] [ruby-trunk - Bug #6694][Open] Thread.new without block. — "ko1 (Koichi Sasada)" <redmine@...>

24 messages 2012/07/04

[#45913] [ruby-trunk - Bug #6698][Open] MacOSXではDir.globが返すファイル名の内容はUTF8-MACですがencodingがUTF-8になっている — "imkira (Mario Freitas)" <imkira@...>

10 messages 2012/07/04

[#45933] [ruby-trunk - Bug #6716][Open] FileUtils.mv でリンク先がないシンボリックリンクファイルを指定すると ENOENT エラーになる — "tommy (Masahiro Tomita)" <tommy@...>

8 messages 2012/07/10

[#45976] [ruby-trunk - Bug #6756][Open] FileUtils.rm_rf がアクセス権のない空ディレクトリを削除しない — "fumiyas (Fumiyasu SATOH)" <fumiyas@...>

9 messages 2012/07/20

[#46012] [ruby-trunk - Feature #6812][Open] Refactor gc.c — "authorNari (Narihiro Nakamura)" <authorNari@...>

13 messages 2012/07/30

[ruby-dev:45894] Re: 非同期割り込みに対する対処案(日本語版)

From: SASADA Koichi <ko1@...>
Date: 2012-07-02 11:29:39 UTC
List: ruby-dev #45894
(2012/07/02 20:14), Yusuke Endoh wrote:
> 以下のようにすれば現状の API で問題ないと思うのですが、
> 何か見落としているでしょうか。
> 
>   # (1) と (2) の間の割り込みを防ぐために
>   Thread.mask_interrupt(Exception, :blocking_interruptible) do # (0)
>     begin
>       # begin 〜 ensure 内での割り込みはいつでも許す
>       Thread.mask_interrupt(Exception, :immediate_interruptible) do
>         # 何か処理
>       end
>     ensure # (1)
>       # (0) のおかげでこの間に割り込まれることはない
>       Thread.mask_interrupt(Exception, :uninterruptible) do (2)
>         # 一度全部割り込み禁止にして
>         Thread.mask_interrupt(SignalException, :blocking_interruptible) do
>           # シグナルだけ割り込みを許して
>           # リソース解放処理
>         end
>       end
>     end
>   end
> 

 (0) 書きたくねーよ! てな話なのかなぁ,とも思ったのですが,どうでしょ
う.個人的には,これで良ければこれで行きたい気がします.

-- 
// SASADA Koichi at atdot dot net



In This Thread