Index: memcache/apr_memcache.c
===================================================================
--- memcache/apr_memcache.c	(revision 689153)
+++ memcache/apr_memcache.c	(working copy)
@@ -108,6 +108,7 @@
 };
 
 #define MULT_GET_TIMEOUT 50000
+#define MS_FIND_CONN_TIMEOUT 5000000
 
 static apr_status_t make_server_dead(apr_memcache_t *mc, apr_memcache_server_t *ms)
 {
@@ -224,6 +225,7 @@
 
 static apr_status_t ms_find_conn(apr_memcache_server_t *ms, apr_memcache_conn_t **conn) 
 {
+    apr_reslist_timeout_set(ms->conns, MS_FIND_CONN_TIMEOUT);
 #if APR_HAS_THREADS
     return apr_reslist_acquire(ms->conns, (void **)conn);
 #else
