3

Provided that:

  • I have created an epoll instance epfd by epoll_create, and registered many regular file descriptors by EPOLL_CTL_ADD.
  • I want to close the epoll instance by close(epfd)

The manual page does't say whether I must EPOLL_CTL_DEL all file descriptors before close(epfd).

So, my question is:

Is it necessary to remove all file descriptors in the interest list before closing the epoll instance itself?

xmllmx
  • 39,765
  • 26
  • 162
  • 323

1 Answers1

2

No, it's not necessary to manually remove them.

From the epoll_create(2) manpage (emphasis added)

When all file descriptors referring to an epoll instance have been closed, the kernel destroys the instance and releases the associated resources for reuse.

Shawn
  • 47,241
  • 3
  • 26
  • 60