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*****