[Anthy-dev 1120] Re: uim_get_default_im_name()の選択アルゴリズム

Back to archive index

YamaKen yamak****@bp*****
2004年 10月 5日 (火) 10:30:29 JST


At Tue, 5 Oct 2004 09:25:56 +0900,
tkng****@xem***** wrote:
> 
> On Tue, 05 Oct 2004 08:02:14 +0900
> YamaKen <yamak****@bp*****> wrote:
> 
> > ・case 1
> > 
> >   OSの実装や動作状態によってはメッセージの一部だけread(2)可能状
> >   態になるのが遅れる事があり得る。その場合はselect(2)でready状態
> >   のfdが無かったからといってメッセージの終端まで読み終えたわけで
> >   はなく、旧実装と同様にメッセージ切れの問題を起こす
> 
>  get_messageは読み込んだバッファの先頭から\n\nを探して、\n\nがなければ
> バッファはいじらずにNULLを返すので、メッセージ切れの問題はおこらないと思
> うのですが、わたしは何か見落としてるでしょうか?

私の理解不足でした。すいません。

uim_helper_read_proc()の仕様変更がuim_helper_get_message()の意味
を変えた(1回のuim_helper_get_message()でメッセージ読み出しが完結
するとは限らない)事に考えが至りませんでした。
uim_helper_get_message() が一旦メッセージの読み出しに入ったなら
ばエラーが発生しない限りメッセージ全体を読み出して返すものだとい
う先入観で考えてしまっていました。

今回の件に限らず、最近自分のモノサシでのみ物事を測って他者の意図
を十分理解できていない、また自分の意図を十分に伝えられていないと
いうケースが増えたように思います。今さらながら恥ずかしさに気付い
たので、今後はもう少し注意深く考えようと思います。今後私にそういっ
た傾向が見られたら遠慮なくご指摘ください。

ただ、自分の理想を引っ込めるという意味ではないので、今後も口やか
ましくあれこれ主張する事自体は変わらないと思います。ご了承くださ
い。

> > ・case 2
> > 
> >   複数のメッセージが立て続けに送信された場合、今回の実装はそれら
> >   のメッセージをひとつながりの文字列として読み出す可能性がある。
> >   uim_helper_get_message()内でメッセージ終端("\n\n")を検出してい
> >   るので論理的には問題にはならないが、複数の大メッセージが連続し
> >   た場合のバッファの消費量を抑えられず、最大消費量を見積る事もで
> >   きない
> 
>  現実的には無視できる問題だと思います。余裕があれば改善すればいいでしょ
> うが、とりあえずは0.4.4の方を優先したいです。

了解です。

> > > (それを後からget_messageが呼ばれるたびに細切れにして返す)
> > 
> > これはちょっと意味が取れないんですが、旧実装も今回の実装も1メッ
> > セージ分の文字列を丸ごと返しているし、そうしないとまずいですよね?
> 
>  read_bufferに複数のメッセージが入っている場合、get_messageが呼ばれるた
> びに1メッセージずつ返すと言う意味です。

そういう意味でしたか。理解しました。

-------------------------------
ヤマケン yamak****@bp*****



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