]> granicus.if.org Git - apache/commitdiff
* support/ab.c (test, start_connect): Only bind the local end of the
authorJoe Orton <jorton@apache.org>
Tue, 19 Jun 2012 15:13:37 +0000 (15:13 +0000)
committerJoe Orton <jorton@apache.org>
Tue, 19 Jun 2012 15:13:37 +0000 (15:13 +0000)
  socket (and look up an address for it) if -B is specified.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1351737 13f79535-47bb-0310-9956-ffa450edef68

support/ab.c

index 6b1e98954faf361e40bcbc89407d1e2164d4c13d..d2b1a986f9307665527f6c958f07aee75b4dd4d8 100644 (file)
@@ -1186,8 +1186,10 @@ static void start_connect(struct connection * c)
     apr_err("socket", rv);
     }
 
-    if ((rv = apr_socket_bind(c->aprsock, mysa)) != APR_SUCCESS) {
-        apr_err("bind", rv);
+    if (myhost) {
+        if ((rv = apr_socket_bind(c->aprsock, mysa)) != APR_SUCCESS) {
+            apr_err("bind", rv);
+        }
     }
 
     c->pollfd.desc_type = APR_POLL_SOCKET;
@@ -1686,13 +1688,15 @@ static void test(void)
         exit(1);
     }
 #endif              /* NOT_ASCII */
-
-    /* This only needs to be done once */
-    if ((rv = apr_sockaddr_info_get(&mysa, myhost, APR_UNSPEC, 0, 0, cntxt)) != APR_SUCCESS) {
-        char buf[120];
-        apr_snprintf(buf, sizeof(buf),
-                 "apr_sockaddr_info_get() for %s", myhost);
-        apr_err(buf, rv);
+    
+    if (myhost) {
+        /* This only needs to be done once */
+        if ((rv = apr_sockaddr_info_get(&mysa, myhost, APR_UNSPEC, 0, 0, cntxt)) != APR_SUCCESS) {
+            char buf[120];
+            apr_snprintf(buf, sizeof(buf),
+                         "apr_sockaddr_info_get() for %s", myhost);
+            apr_err(buf, rv);
+        }
     }
 
     /* This too */