]> git.saurik.com Git - wxWidgets.git/blobdiff - src/unix/gsocket.cpp
Fixed doubled header.
[wxWidgets.git] / src / unix / gsocket.cpp
index bf8c5bc7a349cce87881bf6ab4d6f8f4e4ed5013..3ab997e9b79f6f0a2b605f1fa26edb5451260731 100644 (file)
  * PLEASE don't put C++ comments here - this is a C source file.
  */
 
+#if defined(__WATCOMC__)
+#include "wx/wxprec.h"
+#include <errno.h>
+#include <nerrno.h>
+#endif
+
 #ifndef __GSOCKET_STANDALONE__
 #include "wx/setup.h"
 #endif
@@ -118,7 +124,7 @@ int _System soclose(int);
 #      define SOCKLEN_T socklen_t
 #    endif
 #  elif defined(__WXMAC__)
-#         define SOCKLEN_T socklen_t
+#    define SOCKLEN_T socklen_t
 #  else
 #    define SOCKLEN_T int
 #  endif
@@ -150,15 +156,24 @@ int _System soclose(int);
 #define INADDR_NONE INADDR_BROADCAST
 #endif
 
-#define MASK_SIGNAL()                       \
-{                                           \
-  void (*old_handler)(int);                 \
-                                            \
-  old_handler = signal(SIGPIPE, SIG_IGN);
+#if defined(__VISAGECPP__) || defined(__WATCOMC__)
 
-#define UNMASK_SIGNAL()                     \
-  signal(SIGPIPE, old_handler);             \
-}
+    #define MASK_SIGNAL() {
+    #define UNMASK_SIGNAL() }
+
+#else
+
+    #define MASK_SIGNAL()                       \
+    {                                           \
+        void (*old_handler)(int);               \
+                                                \
+        old_handler = signal(SIGPIPE, SIG_IGN);
+
+    #define UNMASK_SIGNAL()                     \
+        signal(SIGPIPE, old_handler);           \
+    }
+
+#endif
 
 /* If a SIGPIPE is issued by a socket call on a remotely closed socket,
    the program will "crash" unless it explicitly handles the SIGPIPE.
@@ -176,6 +191,9 @@ int _System soclose(int);
 #else
 #  include "gsockunx.h"
 #  include "gsocket.h"
+#  ifndef WXUNUSED
+#    define WXUNUSED(x)
+#  endif
 #endif /* __GSOCKET_STANDALONE__ */
 
 /* debugging helpers */
@@ -210,17 +228,17 @@ void GSocketGUIFunctionsTableNull::OnExit()
 {}
 bool GSocketGUIFunctionsTableNull::CanUseEventLoop()
 {   return false; }
-bool GSocketGUIFunctionsTableNull::Init_Socket(GSocket *socket)
+bool GSocketGUIFunctionsTableNull::Init_Socket(GSocket *WXUNUSED(socket))
 {   return true; }
-void GSocketGUIFunctionsTableNull::Destroy_Socket(GSocket *socket)
+void GSocketGUIFunctionsTableNull::Destroy_Socket(GSocket *WXUNUSED(socket))
 {}
-void GSocketGUIFunctionsTableNull::Install_Callback(GSocket *socket, GSocketEvent event)
+void GSocketGUIFunctionsTableNull::Install_Callback(GSocket *WXUNUSED(socket), GSocketEvent WXUNUSED(event))
 {}
-void GSocketGUIFunctionsTableNull::Uninstall_Callback(GSocket *socket, GSocketEvent event)
+void GSocketGUIFunctionsTableNull::Uninstall_Callback(GSocket *WXUNUSED(socket), GSocketEvent WXUNUSED(event))
 {}
-void GSocketGUIFunctionsTableNull::Enable_Events(GSocket *socket)
+void GSocketGUIFunctionsTableNull::Enable_Events(GSocket *WXUNUSED(socket))
 {}
-void GSocketGUIFunctionsTableNull::Disable_Events(GSocket *socket)
+void GSocketGUIFunctionsTableNull::Disable_Events(GSocket *WXUNUSED(socket))
 {}
 /* Global initialisers */
 
@@ -632,7 +650,7 @@ bool GSocket::SetReusable()
  *  For stream (connection oriented) sockets, GSocket_Connect() tries
  *  to establish a client connection to a server using the peer address
  *  as established with GSocket_SetPeer(). Returns GSOCK_NOERROR if the
- *  connection has been succesfully established, or one of the error
+ *  connection has been successfully established, or one of the error
  *  codes listed below. Note that for nonblocking sockets, a return
  *  value of GSOCK_WOULDBLOCK doesn't mean a failure. The connection
  *  request can be completed later; you should use GSocket_Select()
@@ -906,7 +924,7 @@ int GSocket::Write(const char *buffer, int size)
 
   if (ret == -1)
   {
-    if ((errno == EWOULDBLOCK) || (errno == EAGAIN))     
+    if ((errno == EWOULDBLOCK) || (errno == EAGAIN))
     {
       m_error = GSOCK_WOULDBLOCK;
       GSocket_Debug(( "GSocket_Write error WOULDBLOCK\n" ));
@@ -1092,7 +1110,7 @@ void GSocket::SetTimeout(unsigned long millisec)
 }
 
 /* GSocket_GetError:
- *  Returns the last error occured for this socket. Note that successful
+ *  Returns the last error occurred for this socket. Note that successful
  *  operations do not clear this back to GSOCK_NOERROR, so use it only
  *  after an error.
  */
@@ -1117,7 +1135,7 @@ GSocketError WXDLLIMPEXP_NET GSocket::GetError()
  *   assume that it can write since the first OUTPUT event, and no more
  *   OUTPUT events will be generated unless an error occurs.
  * GSOCK_CONNECTION:
- *   Connection succesfully established, for client sockets, or incoming
+ *   Connection successfully established, for client sockets, or incoming
  *   client connection, for server sockets. Wait for this event (also watch
  *   out for GSOCK_LOST) after you issue a nonblocking GSocket_Connect() call.
  * GSOCK_LOST:
@@ -1303,7 +1321,7 @@ GSocketError GSocket::Output_Timeout()
 int GSocket::Recv_Stream(char *buffer, int size)
 {
   int ret;
-  do 
+  do
   {
     ret = recv(m_fd, buffer, size, GSOCKET_MSG_NOSIGNAL);
   } while (ret == -1 && errno == EINTR); /* Loop until not interrupted */
@@ -1319,7 +1337,7 @@ int GSocket::Recv_Dgram(char *buffer, int size)
 
   fromlen = sizeof(from);
 
-  do 
+  do
   {
     ret = recvfrom(m_fd, buffer, size, 0, &from, (SOCKLEN_T *) &fromlen);
   } while (ret == -1 && errno == EINTR); /* Loop until not interrupted */
@@ -1353,16 +1371,14 @@ int GSocket::Send_Stream(const char *buffer, int size)
 {
   int ret;
 
-#ifndef __VISAGECPP__
-   MASK_SIGNAL();
-#endif 
-  do 
+  MASK_SIGNAL();
+
+  do
   {
     ret = send(m_fd, (char *)buffer, size, GSOCKET_MSG_NOSIGNAL);
   } while (ret == -1 && errno == EINTR); /* Loop until not interrupted */
-#ifndef __VISAGECPP__
+
   UNMASK_SIGNAL();
-#endif
 
   return ret;
 }
@@ -1386,16 +1402,14 @@ int GSocket::Send_Dgram(const char *buffer, int size)
     return -1;
   }
 
-#ifndef __VISAGECPP__
   MASK_SIGNAL();
-#endif
-  do 
+
+  do
   {
     ret = sendto(m_fd, (char *)buffer, size, 0, addr, len);
   } while (ret == -1 && errno == EINTR); /* Loop until not interrupted */
-#ifndef __VISAGECPP__
+
   UNMASK_SIGNAL();
-#endif
 
   /* Frees memory allocated from _GAddress_translate_to */
   free(addr);
@@ -1440,15 +1454,15 @@ void GSocket::Detected_Read()
     else
     {
       /* Do not throw a lost event in cases where the socket isn't really lost */
-      if ((errno == EWOULDBLOCK) || (errno == EAGAIN) || (errno == EINTR)) 
+      if ((errno == EWOULDBLOCK) || (errno == EAGAIN) || (errno == EINTR))
       {
         CALL_CALLBACK(this, GSOCK_INPUT);
       }
-      else 
+      else
       {
         CALL_CALLBACK(this, GSOCK_LOST);
         Shutdown();
-      } 
+      }
     }
   }
 }
@@ -1916,4 +1930,3 @@ GSocketError GAddress_UNIX_GetPath(GAddress *address, char *path, size_t sbuf)
 }
 #endif  /* !defined(__VISAGECPP__) */
 #endif  /* wxUSE_SOCKETS || defined(__GSOCKET_STANDALONE__) */
-