mirror of
https://github.com/shadowsocks/shadowsocks-libev.git
synced 2026-10-29 20:43:44 +00:00
Fix #985
This commit is contained in:
+5
-5
@@ -94,7 +94,7 @@ static void block_list_clear_cb(EV_P_ ev_timer *watcher, int revents);
|
||||
|
||||
static remote_t *new_remote(int fd);
|
||||
static server_t *new_server(int fd, listen_ctx_t *listener);
|
||||
static remote_t *connect_to_remote(struct addrinfo *res,
|
||||
static remote_t *connect_to_remote(EV_P_ struct addrinfo *res,
|
||||
server_t *server);
|
||||
|
||||
static void free_remote(remote_t *remote);
|
||||
@@ -477,7 +477,7 @@ create_and_bind(const char *host, const char *port, int mptcp)
|
||||
}
|
||||
|
||||
static remote_t *
|
||||
connect_to_remote(struct addrinfo *res,
|
||||
connect_to_remote(EV_P_ struct addrinfo *res,
|
||||
server_t *server)
|
||||
{
|
||||
int sockfd;
|
||||
@@ -588,7 +588,7 @@ connect_to_remote(struct addrinfo *res,
|
||||
|
||||
if (r == -1 && errno != CONNECT_IN_PROGRESS) {
|
||||
ERROR("connect");
|
||||
close(sockfd);
|
||||
close_and_free_remote(EV_A_ remote);
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
@@ -938,7 +938,7 @@ server_recv_cb(EV_P_ ev_io *w, int revents)
|
||||
}
|
||||
|
||||
if (!need_query) {
|
||||
remote_t *remote = connect_to_remote(&info, server);
|
||||
remote_t *remote = connect_to_remote(EV_A_ &info, server);
|
||||
|
||||
if (remote == NULL) {
|
||||
LOGE("connect error");
|
||||
@@ -1110,7 +1110,7 @@ server_resolve_cb(struct sockaddr *addr, void *data)
|
||||
info.ai_addrlen = sizeof(struct sockaddr_in6);
|
||||
}
|
||||
|
||||
remote_t *remote = connect_to_remote(&info, server);
|
||||
remote_t *remote = connect_to_remote(EV_A_ &info, server);
|
||||
|
||||
if (remote == NULL) {
|
||||
close_and_free_server(EV_A_ server);
|
||||
|
||||
Reference in New Issue
Block a user