Unix: set addrlen so async reconnect uses proper size
This commit is contained in:
parent
f51363a70c
commit
3a547b8ec0
1
net.c
1
net.c
@ -502,6 +502,7 @@ int redisContextConnectUnix(redisContext *c, const char *path, const struct time
|
|||||||
sa = (struct sockaddr_un*)(c->saddr = malloc(sizeof(struct sockaddr_un)));
|
sa = (struct sockaddr_un*)(c->saddr = malloc(sizeof(struct sockaddr_un)));
|
||||||
c->addrlen = sizeof(struct sockaddr_un);
|
c->addrlen = sizeof(struct sockaddr_un);
|
||||||
sa->sun_family = AF_UNIX;
|
sa->sun_family = AF_UNIX;
|
||||||
|
c->addrlen = sizeof(*sa);
|
||||||
strncpy(sa->sun_path, path, sizeof(sa->sun_path) - 1);
|
strncpy(sa->sun_path, path, sizeof(sa->sun_path) - 1);
|
||||||
if (connect(c->fd, (struct sockaddr*)sa, sizeof(*sa)) == -1) {
|
if (connect(c->fd, (struct sockaddr*)sa, sizeof(*sa)) == -1) {
|
||||||
if (errno == EINPROGRESS && !blocking) {
|
if (errno == EINPROGRESS && !blocking) {
|
||||||
|
Loading…
Reference in New Issue
Block a user