You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@apr.apache.org by mi...@apache.org on 2013/05/19 13:31:05 UTC

svn commit: r1484271 - in /apr/apr/trunk: CHANGES memcache/apr_memcache.c

Author: minfrin
Date: Sun May 19 11:31:05 2013
New Revision: 1484271

URL: http://svn.apache.org/r1484271
Log:
Add support to apr_memcache for unix domain sockets.

Modified:
    apr/apr/trunk/CHANGES
    apr/apr/trunk/memcache/apr_memcache.c

Modified: apr/apr/trunk/CHANGES
URL: http://svn.apache.org/viewvc/apr/apr/trunk/CHANGES?rev=1484271&r1=1484270&r2=1484271&view=diff
==============================================================================
--- apr/apr/trunk/CHANGES [utf-8] (original)
+++ apr/apr/trunk/CHANGES [utf-8] Sun May 19 11:31:05 2013
@@ -1,6 +1,9 @@
                                                      -*- coding: utf-8 -*-
 Changes for APR 2.0.0
 
+  *) Add support to apr_memcache for unix domain sockets. PR 54573 [Remi
+     Gacogne <rgacogne+asf aquaray.com>]
+
   *) Add the apr_table_getm() call, which transparently handles the
      merging of keys with multiple values. [Graham Leggett]
 

Modified: apr/apr/trunk/memcache/apr_memcache.c
URL: http://svn.apache.org/viewvc/apr/apr/trunk/memcache/apr_memcache.c?rev=1484271&r1=1484270&r2=1484271&view=diff
==============================================================================
--- apr/apr/trunk/memcache/apr_memcache.c (original)
+++ apr/apr/trunk/memcache/apr_memcache.c Sun May 19 11:31:05 2013
@@ -289,8 +289,13 @@ static apr_status_t conn_connect(apr_mem
 {
     apr_status_t rv = APR_SUCCESS;
     apr_sockaddr_t *sa;
+#if APR_HAVE_SOCKADDR_UN
+    apr_int32_t family = conn->ms->host[0] != '/' ? APR_INET : APR_UNIX;
+#else
+    apr_int32_t family = APR_INET;
+#endif
 
-    rv = apr_sockaddr_info_get(&sa, conn->ms->host, APR_INET, conn->ms->port, 0, conn->p);
+    rv = apr_sockaddr_info_get(&sa, conn->ms->host, family, conn->ms->port, 0, conn->p);
     if (rv != APR_SUCCESS) {
         return rv;
     }
@@ -322,6 +327,11 @@ mc_conn_construct(void **conn_, void *pa
     apr_pool_t *np;
     apr_pool_t *tp;
     apr_memcache_server_t *ms = params;
+#if APR_HAVE_SOCKADDR_UN
+    apr_int32_t family = conn->ms->host[0] != '/' ? APR_INET : APR_UNIX;
+#else
+    apr_int32_t family = APR_INET;
+#endif
 
     rv = apr_pool_create(&np, pool);
     if (rv != APR_SUCCESS) {
@@ -339,7 +349,7 @@ mc_conn_construct(void **conn_, void *pa
     conn->p = np;
     conn->tp = tp;
 
-    rv = apr_socket_create(&conn->sock, APR_INET, SOCK_STREAM, 0, np);
+    rv = apr_socket_create(&conn->sock, family, SOCK_STREAM, 0, np);
 
     if (rv != APR_SUCCESS) {
         apr_pool_destroy(np);