Index: trunk/server/memcached.c
===================================================================
--- trunk/server/memcached.c (revision 620)
+++ trunk/server/memcached.c (revision 624)
@@ -219,6 +219,9 @@
 
     msg->msg_iov = &c->iov[c->iovused];
-    msg->msg_name = &c->request_addr;
-    msg->msg_namelen = c->request_addr_size;
+
+    if (c->request_addr_size > 0) {
+        msg->msg_name = &c->request_addr;
+        msg->msg_namelen = c->request_addr_size;
+    }
 
     c->msgbytes = 0;
Index: trunk/server/ChangeLog
===================================================================
--- trunk/server/ChangeLog (revision 623)
+++ trunk/server/ChangeLog (revision 624)
@@ -19,4 +19,9 @@
 	* The memcached-tool script can now display stats.  Patch
 	  provided by Dan Christian <dchristian@google.com>
+
+	* Fix for Unix Domain sockets on FreeBSD
+	  FreeBSD's sendmsg() requires msg_name in msghdr structure 
+	  to be NULL if not used, setting msg_namelen to 0 isn't enough.
+	  Patch from Maxim Dounin <mdounin@mdounin.ru>
 
 2007-08-21 Paul Lindner <lindner@inuus.com>
