diff --git a/input/common/epoll_common.c b/input/common/epoll_common.c index 5ead3ec034..60a977f764 100644 --- a/input/common/epoll_common.c +++ b/input/common/epoll_common.c @@ -26,36 +26,21 @@ #include "../../verbosity.h" -static bool epoll_inited; -static bool epoll_first_inited_is_joypad; - -bool epoll_new(int *epoll_fd, bool is_joypad) +bool epoll_new(int *epoll_fd) { - if (epoll_inited) - return true; - *epoll_fd = epoll_create(32); if (*epoll_fd < 0) return false; - epoll_first_inited_is_joypad = is_joypad; - epoll_inited = true; - return true; } -void epoll_free(int *epoll_fd, bool is_joypad) +void epoll_free(int *epoll_fd) { - if (!epoll_inited || (is_joypad && !epoll_first_inited_is_joypad)) - return; - if (*epoll_fd >= 0) close(*epoll_fd); *epoll_fd = -1; - - epoll_inited = false; - epoll_first_inited_is_joypad = false; } int epoll_waiting(int *epoll_fd, void *events, int maxevents, int timeout) diff --git a/input/common/epoll_common.h b/input/common/epoll_common.h index a56fbdd2d3..1150d9982a 100644 --- a/input/common/epoll_common.h +++ b/input/common/epoll_common.h @@ -20,9 +20,9 @@ #include -bool epoll_new(int *epoll_fd, bool is_joypad); +bool epoll_new(int *epoll_fd); -void epoll_free(int *epoll_fd, bool is_joypad); +void epoll_free(int *epoll_fd); int epoll_waiting(int *epoll_fd, void *events, int maxevents, int timeout); diff --git a/input/drivers_joypad/linuxraw_joypad.c b/input/drivers_joypad/linuxraw_joypad.c index 4ecaa21553..d5203d14e7 100644 --- a/input/drivers_joypad/linuxraw_joypad.c +++ b/input/drivers_joypad/linuxraw_joypad.c @@ -228,7 +228,7 @@ static bool linuxraw_joypad_init(void *data) { unsigned i; - if (!epoll_new(&linuxraw_epoll, true)) + if (!epoll_new(&linuxraw_epoll)) return false; for (i = 0; i < MAX_USERS; i++) @@ -292,7 +292,7 @@ static void linuxraw_joypad_destroy(void) close(linuxraw_inotify); linuxraw_inotify = -1; - epoll_free(&linuxraw_epoll, true); + epoll_free(&linuxraw_epoll); linuxraw_hotplug = false; }