summaryrefslogblamecommitdiff
path: root/www/vrweb/files/patch-aa
blob: 09ffdb6ec8ff3e849d264ef493e0a186e614f9dd (plain) (tree)












































































                                                                      
--- src/common/utils/unixsocket.C.orig	Fri Feb 21 21:41:25 1997
+++ src/common/utils/unixsocket.C	Wed Oct 20 19:35:42 1999
@@ -67,6 +67,9 @@
 #if defined(BSDI)
 #  define DONT_HAVE_SENDFD
 #endif
+#if defined(FreeBSD)
+#  define DONT_HAVE_SENDFD
+#endif
 
 #if ! (defined HAVE_SENDFD || defined DONT_HAVE_SENDFD)
 #error SEND_FD
@@ -110,19 +113,29 @@
       sock = ::socket (AF_UNIX, SOCK_STREAM, 0) ;
       if (sock < 0) {
          DEBUGNL ("UNIXSocket::connect(): could not create socket") ;
+#ifndef __FreeBSD__
          set_errno_(::errno) ;
+#endif
          perror_("UNIXSocket::connect(): ::socket()") ;
          return false ;
       }
       if (::connect (sock, (struct sockaddr*)&addr, addrlen) < 0) {
+#ifdef __FreeBSD__
+         if (errno == ECONNREFUSED && retries > 0) {
+#else
          if (::errno == ECONNREFUSED && retries > 0) {
+#endif
             // try again since peer's backlog may just be full
             ::close (sock) ;
             ::sleep (1) ; // ++++
             continue ;
          } else {
             DEBUGNL ("UNIXSocket::connect(): cannot connect") ;
+#ifdef __FreeBSD__
+            set_errno_(errno) ;
+#else
             set_errno_(::errno) ;
+#endif
             perror_("UNIXSocket::connect(): ::connect()") ;
             ::close (sock) ;
             return false ;
@@ -143,7 +156,11 @@
    int sock = ::socket (AF_UNIX, SOCK_STREAM, 0) ;
    if (sock < 0) {
       DEBUGNL ("UNIXSocket::listen(): could not create socket") ;
+#ifdef __FreeBSD__
+      set_errno_(errno) ;
+#else
       set_errno_(::errno) ;
+#endif
       perror_("UNIXSocket::listen(): ::socket()") ;
       return false ;
    }
@@ -160,14 +177,22 @@
    // systems have 2 chars (len and family) instead.
    if (::bind (sock, (struct sockaddr*)&addr, 2 + pathlen) < 0) {
       DEBUGNL ("UNIXSocket::listen(): ::bind() error") ;
+#ifdef __FreeBSD__
+      set_errno_(errno) ;
+#else
       set_errno_(::errno) ;
+#endif
       perror_("UNIXSocket::listen(): ::bind()") ;
       ::close (sock) ;
       return false ;
    }
    if (::listen (sock, SOMAXCONN) < 0) {
       DEBUGNL ("UNIXSocket::listen(): ::listen() error") ;
+#ifdef __FreeBSD__
+      set_errno_(errno) ;
+#else
       set_errno_(::errno) ;
+#endif
       perror_("UNIXSocket::listen(): ::listen()") ;
       ::close (sock);
       return false ;