[mew-dist 25497] Re: SMTP error handling

Kazu Yamamoto ( 山本和彦 ) kazu at example.com
2004年 10月 19日 (火) 23:47:55 JST


> NetBSD current が EALREADY を返すのは、connect() のときのようです。
> ローカルポートを使い回しているのかなぁ。

うーん。

ktrace を取ってみたら、

 17374 emacs    CALL  socket(2,1,6)
 17374 emacs    RET   socket 3
...
 17374 emacs    CALL  connect(3,0x86c2720,0x10)
 17374 emacs    RET   connect -1 errno 4 Interrupted system call
...
 17374 emacs    CALL  connect(3,0x86c2720,0x10)
 17374 emacs    RET   connect -1 errno 37 Operation already in progress

という訳で、一回目の connect() になぜか EINTR が返ってきます。
それで、connect() を retry するから、EALREADY になるようです。

対処を考えるのは簡単ですが、そもそもなぜ一回目で EINTR になるんでしょう
か?

--かず



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