ソケットを開き、存在しないピアに connect() しようとしました。connect() はノンブロッキングです。
次に、ソケットを epoll します。
時々、EPOLLERR|EPOLLHUP イベントが発生し、その後の getsockopt(SO_ERROR) が ECONNREFUSED を返します。これは私が期待するものです。
ただし、EPOLLHUP だけを取得し、その後の getsockopt(SO_ERROR) が 0 を返すことがあります。
後者のケースが何を意味するのか、誰にも分かりますか?