Add epoll event loop
Fix bug in macro ASSERT_RETURN