]> git.saurik.com Git - wxWidgets.git/commitdiff
don't leak epoll descriptor
authorVadim Zeitlin <vadim@wxwidgets.org>
Sat, 14 Jul 2007 20:22:27 +0000 (20:22 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Sat, 14 Jul 2007 20:22:27 +0000 (20:22 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47473 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/unix/private/epolldispatcher.h
src/unix/epolldispatcher.cpp

index f76cf6e8d71971db850b526eb4aa3c5a528c91a9..39bd3a27e597f4e00f16136e75585c8c39aff13b 100644 (file)
@@ -26,6 +26,8 @@ public:
     // the caller should delete the returned pointer
     static wxEpollDispatcher *Create();
 
+    virtual ~wxEpollDispatcher();
+
     // implement base class pure virtual methods
     virtual bool RegisterFD(int fd, wxFDIOHandler* handler, int flags = wxFDIO_ALL);
     virtual bool ModifyFD(int fd, wxFDIOHandler* handler, int flags = wxFDIO_ALL);
index a8cb94910c7ffcbd8dcf8d32f4ec09b51073c475..8df776cba17e6ed1030414924947d495983554ab 100644 (file)
@@ -92,6 +92,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;