]> git.saurik.com Git - wxWidgets.git/commitdiff
wxSocketImpl::Shutdown() doesn't need to be virtual, its implementation can the same...
authorVadim Zeitlin <vadim@wxwidgets.org>
Sat, 27 Dec 2008 22:03:34 +0000 (22:03 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Sat, 27 Dec 2008 22:03:34 +0000 (22:03 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57611 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/private/socket.h
include/wx/unix/private/sockunix.h
src/unix/sockunix.cpp

index b830d957ade0cbcc2dd6c2a97822750282a71499..d546a91acc76f98c7cb6194836d4225e360e3881 100644 (file)
@@ -250,7 +250,11 @@ public:
     // it was indeed created
     void Close();
 
     // 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
 
 
     // IO operations
index 11e512ec15d34c5fd19cc6b196c830e43b6e0415..d51d75f1303e8985e241e3c1f00855324d64bcbc 100644 (file)
@@ -31,8 +31,6 @@ public:
 
     virtual wxSocketError GetLastError() const;
 
 
     virtual wxSocketError GetLastError() const;
 
-    virtual void Shutdown();
-
     virtual int Read(void *buffer, int size);
     virtual int Write(const void *buffer, int size);
 
     virtual int Read(void *buffer, int size);
     virtual int Write(const void *buffer, int size);
 
index 28aa7ed7db35ac0ac3b249ced7464d9898aa3dc7..30a417ecc3537fd530806695e7c9b13f85dd1dac 100644 (file)
@@ -174,6 +174,10 @@ int _System soclose(int);
 #  define GSOCKET_MSG_NOSIGNAL 0
 #endif /* MSG_NOSIGNAL */
 
 #  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
 #if wxUSE_THREADS && (defined(HAVE_GETHOSTBYNAME) || defined(HAVE_GETSERVBYNAME))
 #  include "wx/thread.h"
 #endif
@@ -424,6 +428,10 @@ struct servent *wxGetservbyname_r(const char *port, const char *protocol,
   return se;
 }
 
   return se;
 }
 
+// ============================================================================
+// wxSocketImpl implementation
+// ============================================================================
+
 /* static */
 wxSocketImpl *wxSocketImpl::Create(wxSocketBase& wxsocket)
 {
 /* static */
 wxSocketImpl *wxSocketImpl::Create(wxSocketBase& wxsocket)
 {
@@ -431,18 +439,6 @@ 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 )
 wxSocketError wxSocketImplUnix::GetLastError() const
 {
     switch ( errno )