Re: POLLRDONCE optimisation for epoll users (was: epoll and half closed TCP connections)

Jamie Lokier (jamie@shareable.org)
Mon, 14 Jul 2003 04:04:37 +0100


Davide Libenzi wrote:
> Ouch, I definitely liked more the POLLHUP thing. It is not linked to epoll
> at all.

POLLRDONCE isn't linked to epoll - it's a valid hint for poll/select too.

It means something different, i.e. you can't write:

> if (events & EPOLLRDHUP) {
> d->flags |= HANGUP;
> schedule_removal(d);
> }

Be careful, because that isn't valid if there is urgent data. You
need to check POLLPRI too. Granted urgent data is usually best ignored :)

If fast hangup is a useful optimisation too, we should have both flags.
(However calling read() doesn't seem like a great penalty for that).

-- Jamie
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/