mailru / easygo

Tools for building go apps.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Poller does not implement Close method

wI2L opened this issue · comments

The OS independent type Poller does not implement the Close method that can be found in type Epoll and Kqueue (although) it isn't implemented for the last.

I am writing a Websocket tracker using gobwas/ws and this package, and I want to implement a graceful shutdown to my server. As of now, I am calling poller.Stop on all Desc then closing connections, but it represents alot of syscalls, being able to call Close once would be easier and cleaner to stop the background loop.

Also, could you please consider implementing Close for the Kqueue implementation ?

Thanks

@gobwas

Is not it also leaks fd for epoll itself? even if you close all descs fd created by fd, err := unix.EpollCreate1(0) remains?