…n building and packaging
This appears to be a work-in-progress copy of em.cpp that was supposed to add support for IoCompletionPort on windows. If someone wishes to implement an IOCP mode for EM in the future, they might benefit from this file. However, I would recommend instead that IOCP be added as a mode to the original reactor (similar to the way epoll and kqueue work) with ifdefs where necessary, such that a complete separate copy of the reactor does not have to be maintained for win32.
are out of date, unmaintained and there is no point in keeping them around. The Java reactor (and the C++ reactor) were both initially designed to be usable outside of Ruby. However, no one actually does and keeping (or pretending to keep) compatibility layers just slows down development and makes the experience of using and developing EM for ruby more painful. I would prefer instead to focus development efforts on the Ruby use-case specifically. That said, these files are and will remain in the Git history if someone wishes to use them.
…e with min macro Signed-off-by: Aman Gupta <firstname.lastname@example.org>
This is due to ruby.h/defines.h/win32.h in the ruby source redefining all the socket functions to call rb_w32_* functions instead. This means the return value of socket() is not a win32 SOCKET handle, but instead a file descriptor wrapper that the ruby VM owns. We must call close() (which invokes rb_w32_close) to dispose of it correctly.
…ng a 1.9 leak, but also optimises performance.
Signed-off-by: Aman Gupta <email@example.com>