[Anthy-dev 1786] Re: uim-helperでのwrite(2)とselect(2)

Back to archive index

Etsushi Kato ekato****@ees*****
2005年 2月 8日 (火) 18:32:32 JST


On 2005/02/08, at 11:51, Etsushi Kato wrote:

> 結局、uim-helper-server が im bridge との間で、 custom の update
> を送る処理と prop の update を受け付ける処理を、同時かつ大量にさばけ
> ていないのが問題みたいです。

socket に non block io を利用して、write(2) が失敗し、
EAGAIN の場合はリトライするように変更してみました。r609です。

この変更で、もれなくメッセージを受け渡すことができるようになりましたが、
uim-xim のように IM context がたくさんある場合に、custom 後の
prop のアップデートで DoS 的に永遠に EAGAIN になってしまう場合が
稀にありました。
しょうがないので、uim_helper_send_message において、 EAGAIN の
場合には usleep させてからリトライという手でとりあえず回避しました。
このあたりはもうすこしまともに修正したほうがいいような気もします…

-- 
Etsushi Kato
ekato****@ees*****




Anthy-dev メーリングリストの案内
Back to archive index