diff --git a/src/event/modules/ngx_epoll_module.c b/src/event/modules/ngx_epoll_module.c
index f7f2c90..9586416 100644
--- a/src/event/modules/ngx_epoll_module.c
+++ b/src/event/modules/ngx_epoll_module.c
@@ -463,17 +463,9 @@
 static void
 ngx_epoll_test_rdhup(ngx_cycle_t *cycle)
 {
-    int                 epfd, s[2], events;
+    int                 s[2], events;
     struct epoll_event  ee;
 
-    epfd = epoll_create(1);
-
-    if (epfd == -1) {
-        ngx_log_error(NGX_LOG_ALERT, cycle->log, ngx_errno,
-                      "epoll_create() failed");
-        return;
-    }
-
     if (socketpair(AF_UNIX, SOCK_STREAM, 0, s) == -1) {
         ngx_log_error(NGX_LOG_ALERT, cycle->log, ngx_errno,
                       "socketpair() failed");
@@ -482,7 +474,7 @@
 
     ee.events = EPOLLET|EPOLLIN|EPOLLRDHUP;
 
-    if (epoll_ctl(epfd, EPOLL_CTL_ADD, s[0], &ee) == -1) {
+    if (epoll_ctl(ep, EPOLL_CTL_ADD, s[0], &ee) == -1) {
         ngx_log_error(NGX_LOG_ALERT, cycle->log, ngx_errno,
                       "epoll_ctl() failed");
         return;
@@ -494,7 +486,7 @@
         return;
     }
 
-    events = epoll_wait(epfd, &ee, 1, 5000);
+    events = epoll_wait(ep, &ee, 1, 5000);
 
     if (events == -1) {
         ngx_log_error(NGX_LOG_ALERT, cycle->log, ngx_errno,
@@ -503,7 +495,6 @@
     }
 
     (void) close(s[0]);
-    (void) close(epfd);
 
     if (events) {
         ngx_use_epoll_rdhup = ee.events & EPOLLRDHUP;
