[mew-dist 25610] Re: non-blocking connect()

JINMEI Tatuya / 神明達哉 jinmei at example.com
2004年 10月 28日 (木) 15:11:38 JST


>>>>> On Thu, 28 Oct 2004 13:50:19 +0900 (JST), 
>>>>> Kazu Yamamoto (山本和彦) <kazu at example.com> said:

>> 1. selectでreadの方も待ってるのはなぜですか?
> UNIX Network Programming Vol 1 3rd に両方で待てと書いてあるからです。

> moley が調べてくれた限り、最近の BSD では write で待つだけで十分そうで
> す。しかし、すべてにおいてそうか自信がないし、read で待っても害ではない
> ので、両方で待っています。

なるほど。心はわかりました。ちなみに、emacsと同じくらいportabilityに気
を遣っていると思われるBIND9では、non blocking connectのためのselect(2)
ではwritabilityしかcheckしていません。

>> 2. fcntls(F_SETFL)で元に戻すときは、一応flagから明示的にO_NONBLOCKを落
>> とした方がいいと思います。

> ダメです。:nowait t で呼ばれたときは、事前に O_NONBLOCK が落ちてます。
> その状態を維持しないといけません。

「事前にO_NONBLOCK が立っています」の間違いでしょうか?いずれにせよ、
元のコメントを書いたときはちょっと勘違いしてました。「元の状態に戻す」
という意味で、patchの内容で正しいと思います。

							神明 達哉



Mew-dist メーリングリストの案内