提交 c7e8dce2 authored 作者: Jeff Lenk's avatar Jeff Lenk

FS-4828 --resolve

上级 de7dc568
...@@ -918,6 +918,7 @@ ESL_DECLARE(esl_status_t) esl_connect_timeout(esl_handle_t *handle, const char * ...@@ -918,6 +918,7 @@ ESL_DECLARE(esl_status_t) esl_connect_timeout(esl_handle_t *handle, const char *
struct addrinfo hints = { 0 }, *result; struct addrinfo hints = { 0 }, *result;
struct sockaddr_in *sockaddr_in; struct sockaddr_in *sockaddr_in;
struct sockaddr_in6 *sockaddr_in6; struct sockaddr_in6 *sockaddr_in6;
socklen_t socklen;
#ifndef WIN32 #ifndef WIN32
int fd_flags = 0; int fd_flags = 0;
#else #else
...@@ -951,10 +952,12 @@ ESL_DECLARE(esl_status_t) esl_connect_timeout(esl_handle_t *handle, const char * ...@@ -951,10 +952,12 @@ ESL_DECLARE(esl_status_t) esl_connect_timeout(esl_handle_t *handle, const char *
case AF_INET: case AF_INET:
sockaddr_in = (struct sockaddr_in*)&(handle->sockaddr); sockaddr_in = (struct sockaddr_in*)&(handle->sockaddr);
sockaddr_in->sin_port = htons(port); sockaddr_in->sin_port = htons(port);
socklen = sizeof(struct sockaddr_in);
break; break;
case AF_INET6: case AF_INET6:
sockaddr_in6 = (struct sockaddr_in6*)&(handle->sockaddr); sockaddr_in6 = (struct sockaddr_in6*)&(handle->sockaddr);
sockaddr_in6->sin6_port = htons(port); sockaddr_in6->sin6_port = htons(port);
socklen = sizeof(struct sockaddr_in6);
break; break;
default: default:
strncpy(handle->err, "Host resolves to unsupported address family", sizeof(handle->err)); strncpy(handle->err, "Host resolves to unsupported address family", sizeof(handle->err));
...@@ -985,7 +988,7 @@ ESL_DECLARE(esl_status_t) esl_connect_timeout(esl_handle_t *handle, const char * ...@@ -985,7 +988,7 @@ ESL_DECLARE(esl_status_t) esl_connect_timeout(esl_handle_t *handle, const char *
#endif #endif
} }
rval = connect(handle->sock, (struct sockaddr*)&handle->sockaddr, sizeof(handle->sockaddr)); rval = connect(handle->sock, (struct sockaddr*)&handle->sockaddr, socklen);
if (timeout) { if (timeout) {
int r; int r;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论