提交 4fe83b55 编写于 作者: P Pieter Noordhuis

sockaddr_un.sun_path appears to never hold anything after accept()

上级 ab17b909
......@@ -336,16 +336,12 @@ int anetTcpAccept(char *err, int s, char *ip, int *port) {
return fd;
}
int anetUnixAccept(char *err, int s, char *path, int len) {
int anetUnixAccept(char *err, int s) {
int fd;
struct sockaddr_un sa;
socklen_t salen = sizeof(sa);
if ((fd = anetGenericAccept(err,s,(struct sockaddr*)&sa,&salen)) == ANET_ERR)
return ANET_ERR;
if (path) {
strncpy(path,sa.sun_path,len-1);
path[len-1] = 0;
}
return fd;
}
......@@ -44,7 +44,7 @@ int anetResolve(char *err, char *host, char *ipbuf);
int anetTcpServer(char *err, int port, char *bindaddr);
int anetUnixServer(char *err, char *path);
int anetTcpAccept(char *err, int serversock, char *ip, int *port);
int anetUnixAccept(char *err, int serversock, char *path, int len);
int anetUnixAccept(char *err, int serversock);
int anetWrite(int fd, char *buf, int count);
int anetNonBlock(char *err, int fd);
int anetTcpNoDelay(char *err, int fd);
......
......@@ -199,12 +199,11 @@ void acceptTcpHandler(aeEventLoop *el, int fd, void *privdata, int mask) {
void acceptUnixHandler(aeEventLoop *el, int fd, void *privdata, int mask) {
int cfd;
char cpath[128];
REDIS_NOTUSED(el);
REDIS_NOTUSED(mask);
REDIS_NOTUSED(privdata);
cfd = anetUnixAccept(server.neterr, fd, cpath, sizeof(cpath));
cfd = anetUnixAccept(server.neterr, fd);
if (cfd == AE_ERR) {
redisLog(REDIS_VERBOSE,"Accepting client connection: %s", server.neterr);
return;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册