Re: [SCore-users-jp] scored のクラッシュ

Atsushi HORI hori @ allinea.com
2005年 10月 28日 (金) 23:35:11 JST


On 2005/10/28, at 22:48, Naoya Maruyama wrote:

> 1. NONBLOCKなfdを作成しなかった
> 2. score_write()関数において、他のスレッドにスケジュールが移る 
> ようにコーディン
> グしなかった
>
> と両方ということでしょうか?

#こういう場でそうはっきり言われると…

というか、2 が面倒だったので NONBLOCK にしなかったと 
いうのが本当のところです。

まあ、入れるとしたら score_write() ではなくその上になりま 
す。write(2) が EWOULDBLOCK を返しますので、 
score_write() もそれを返します。2. はそれほど単純ではなく、

他のスレッドから戻って来ても大丈夫なようにしなければいけない(ま 
あ、これは当然なのですが)、
BLOCK した時にタイマー等で適当なタイミングでスレッドを起こさない 
といけない、
そうするとシャットダウン時にタイマーで寝ているスレッド(もしあれ 
ば)を起こして、
ちゃんと終了させなければならない、等々、結構面倒なのです。

#sysmon 以外の所はちゃんとやっているんですけどね。ついつ 
い。

まあ一番簡単には EWOULDBLOCK を返したらその fd をク 
ローズしてしまうという手もないことはないのですが。




SCore-users-jp メーリングリストの案内