I wrote a socket server, running on linux, but this is probably not linux specifix.
I use poll()
to check the state of the clients. My clients do an active (half-)close after sending the request. The server constantly getting POLLHUP
and POLLERR
, because of the client's half-close. I also see POLLRDHUP
, so I know that's actually half-close and not a connection close/reset. My problem is that I always get these events even though I already know from previous poll that there was a half-close.
How can I disable this so I do not receive theis event anymore? I tried to do additional read()
and do a shutdown(fd, SHUT_RD)
, but it doesn't seem to help. I don't want poll
to wake up for an event I already handled.