まつもと ゆきひろです.
In message "[ruby-list:403] Re: help: trap"
on 96/08/12, 石塚圭樹 <keiju / shljapan.co.jp> writes:
|
|けいじゅ@SHLジャパンです.
|%ruby
|trap("SIGINT") {
| print 1
| exit
|}
|
|sleep 1000
|print 2
|
|とし, これを実行し ^C すると,
|
|12
|
|が表示されます. これって 変な動作じゃないですか? と聞きたかったのです
|が??
変な動作です.thread導入の時にexitのセマンティックスを変えて
しまっていました.trapはハンドラ用のthreadを生成するが,exit
でそのthreadだけが終了していました.次のリリースでは直します.
|つまり, ブロックを修了するか break すると 再実行するということですね.
はい,trapはそういう動作をします.
まつもと ゆきひろ /:|)