sleepy_penguin 1.2.0 - epoll GC help
One convenience fix:
epoll: prevent IO objects from getting GC-ed
Users of our code may forget to keep references for their IO
objects at all, and since it's not possible for GC to mark
kernel memory, we just hold on to the IO objects for them.
We can't unmark close()d file descriptors, ever, so we don't
bother with the EPOLL_CTL_DEL case, either. Just storing IO
objects in an array using the raw descriptor as a key will allow
bounded space usage just like the in-kernel FD tables as long
as the user remembers to close descriptors themselves.