X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4f260c9c68b42e6ccc82710efe6ca6e8418e721d..afab8b85c4bdeb11a248c57d13e9bcfa14149ef8:/src/unix/sockunix.cpp?ds=inline diff --git a/src/unix/sockunix.cpp b/src/unix/sockunix.cpp index b2e298d83f..7d47f18e95 100644 --- a/src/unix/sockunix.cpp +++ b/src/unix/sockunix.cpp @@ -4,7 +4,6 @@ // Authors: Guilhem Lavaux, Guillermo Rodriguez Garcia, David Elliott, // Vadim Zeitlin // Created: April 1997 -// RCS-ID: $Id$ // Copyright: (c) 1997 Guilhem Lavaux // (c) 2008 Vadim Zeitlin // Licence: wxWindows licence @@ -230,7 +229,15 @@ void wxSocketImplUnix::OnWriteWaiting() void wxSocketImplUnix::OnExceptionWaiting() { - wxFAIL_MSG( "not supposed to be called" ); + // when using epoll() this is called when an error occurred on the socket + // so close it if it hadn't been done yet -- what else can we do? + // + // notice that we shouldn't be called at all when using select() as we + // don't use wxFDIO_EXCEPTION when registering the socket for monitoring + // and this is good because select() would call this for any OOB data which + // is not necessarily an error + if ( m_fd != INVALID_SOCKET ) + OnStateChange(wxSOCKET_LOST); } #endif /* wxUSE_SOCKETS */