// it was indeed created
void Close();
- virtual void Shutdown();
+ // shuts down the writing end of the socket and closes it, this is a more
+ // graceful way to close
+ //
+ // does nothing if the socket wasn't created
+ void Shutdown();
// IO operations
virtual wxSocketError GetLastError() const;
- virtual void Shutdown();
-
virtual int Read(void *buffer, int size);
virtual int Write(const void *buffer, int size);
# define GSOCKET_MSG_NOSIGNAL 0
#endif /* MSG_NOSIGNAL */
+// ----------------------------------------------------------------------------
+// implementation of thread-safe/reentrant functions if they're missing
+// ----------------------------------------------------------------------------
+
#if wxUSE_THREADS && (defined(HAVE_GETHOSTBYNAME) || defined(HAVE_GETSERVBYNAME))
# include "wx/thread.h"
#endif
return se;
}
+// ============================================================================
+// wxSocketImpl implementation
+// ============================================================================
+
/* static */
wxSocketImpl *wxSocketImpl::Create(wxSocketBase& wxsocket)
{
}
-/*
- * Disallow further read/write operations on this socket, close
- * the fd and disable all callbacks.
- */
-void wxSocketImplUnix::Shutdown()
-{
- /* Don't allow events to fire after socket has been closed */
- DisableEvents();
-
- wxSocketImpl::Shutdown();
-}
-
wxSocketError wxSocketImplUnix::GetLastError() const
{
switch ( errno )