use eventfd instead of socketpair