]> git.saurik.com Git - redis.git/blobdiff - src/anet.c
Merge pull request #209 from woowenjie/unstable
[redis.git] / src / anet.c
index 692cef1941c05f75b092ebaf8da4f8c864482ba7..9aff4dfa173d94b7dd84e4034a92af591a934c47 100644 (file)
@@ -32,6 +32,7 @@
 
 #include <sys/types.h>
 #include <sys/socket.h>
+#include <sys/stat.h>
 #include <sys/un.h>
 #include <netinet/in.h>
 #include <netinet/tcp.h>
@@ -291,7 +292,7 @@ int anetTcpServer(char *err, int port, char *bindaddr)
     return s;
 }
 
-int anetUnixServer(char *err, char *path)
+int anetUnixServer(char *err, char *path, mode_t perm)
 {
     int s;
     struct sockaddr_un sa;
@@ -304,6 +305,8 @@ int anetUnixServer(char *err, char *path)
     strncpy(sa.sun_path,path,sizeof(sa.sun_path)-1);
     if (anetListen(err,s,(struct sockaddr*)&sa,sizeof(sa)) == ANET_ERR)
         return ANET_ERR;
+    if (perm)
+        chmod(sa.sun_path, perm);
     return s;
 }