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 メーリングリストの案内