lkml.org 
[lkml]   [2004]   [Apr]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Is POLLHUP an input-only or bidirectional condition? (was: epoll reporting events when it hasn't been asked to)
On Sun, 4 Apr 2004, Jamie Lokier wrote:

> A comment in eventpoll.c says:
>
> * This semaphore is acquired by ep_free() during the epoll file
> * cleanup path and it is also acquired by eventpoll_release()
> * if a file has been pushed inside an epoll set and it is then
> * close()d without a previous call toepoll_ctl(EPOLL_CTL_DEL).
>
> I.e. implying that the final close() is possible while it's registered.
> (Btw, a function called eventpoll_release() doesn't exist).

Woops, you're right. The function is inside include/linux/eventpoll.h
because it has been split into an inline to handle the fast path, plus the
slow path eventpoll_release_file(). I'll send a patch to Andrew to fix
comments.


> What happens when a file descriptor is closed while it is inside the set?
>
> I guess it's simply dropped from the set, is that right?

Yes, it is automatically removed from the epoll set, iif the underlying
file* count goes to zero.


- Davide


-
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/

\
 
 \ /
  Last update: 2005-03-22 14:02    [W:0.084 / U:1.620 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site