]> git.saurik.com Git - wxWidgets.git/blobdiff - src/unix/epolldispatcher.cpp
check that the version of __sync_sub_and_fetch that returns a value is supported...
[wxWidgets.git] / src / unix / epolldispatcher.cpp
index a8cb94910c7ffcbd8dcf8d32f4ec09b51073c475..6f36836f0fcc9f755438a4b928015dae763e4146 100644 (file)
@@ -19,7 +19,7 @@
 // for compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
 
-#ifdef wxUSE_EPOLL_DISPATCHER
+#if wxUSE_EPOLL_DISPATCHER
 
 #include "wx/unix/private/epolldispatcher.h"
 #include "wx/unix/private.h"
@@ -31,6 +31,7 @@
 
 #include <sys/epoll.h>
 #include <errno.h>
+#include <unistd.h>
 
 #define wxEpollDispatcher_Trace wxT("epolldispatcher")
 
@@ -40,7 +41,7 @@
 
 // helper: return EPOLLxxx mask corresponding to the given flags (and also log
 // debugging messages about it)
-static uint32_t GetEpollMask(int flags, int fd)
+static uint32_t GetEpollMask(int flags, int WXUNUSED_UNLESS_DEBUG(fd))
 {
     uint32_t ep = 0;
 
@@ -92,6 +93,14 @@ wxEpollDispatcher::wxEpollDispatcher(int epollDescriptor)
     m_epollDescriptor = epollDescriptor;
 }
 
+wxEpollDispatcher::~wxEpollDispatcher()
+{
+    if ( close(m_epollDescriptor) != 0 )
+    {
+        wxLogSysError(_("Error closing epoll descriptor"));
+    }
+}
+
 bool wxEpollDispatcher::RegisterFD(int fd, wxFDIOHandler* handler, int flags)
 {
     epoll_event ev;