summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfengweihao <[email protected]>2023-02-01 19:02:34 +0800
committerfengweihao <[email protected]>2023-02-01 19:02:34 +0800
commitb25a3ba1b5eece8616eddaed3dbd526fb0a45c8a (patch)
tree0e5c5f83a146758ca0f6011995c234bc08f0571e
parent966450c09dcc40524861e95aa3dd7cdb0ab717eb (diff)
bugfix: fd was not closed when the association failed. health_check_announce_port assignment error
-rw-r--r--src/swarmkv_api.c2
-rw-r--r--src/swarmkv_net.c5
2 files changed, 6 insertions, 1 deletions
diff --git a/src/swarmkv_api.c b/src/swarmkv_api.c
index b03919e..a6fea66 100644
--- a/src/swarmkv_api.c
+++ b/src/swarmkv_api.c
@@ -67,7 +67,7 @@ int swarmkv_options_set_health_check_port(struct swarmkv_options *opts, unsigned
}
int swarmkv_options_set_health_check_announce_port(struct swarmkv_options *opts, unsigned int health_check_announce_port)
{
- opts->health_check_port=health_check_announce_port;
+ opts->health_check_announce_port=health_check_announce_port;
return 0;
}
int swarmkv_options_set_cluster_timeout_us(struct swarmkv_options *opts, unsigned int timeout_ms)
diff --git a/src/swarmkv_net.c b/src/swarmkv_net.c
index ddce0ca..0f5f486 100644
--- a/src/swarmkv_net.c
+++ b/src/swarmkv_net.c
@@ -640,6 +640,11 @@ void connect_peer_eventcb(struct bufferevent *bev, short events, void *arg)
conn->peer_listen_addr.addr,
err, evutil_socket_error_to_string(err),
canceled_rpc);
+ if(conn->fd<=0)
+ {
+ evutil_socket_t fd=bufferevent_getfd(conn->bev);
+ conn->fd=fd;
+ }
snet_conn_table_remove(conn);
snet_conn_free(conn);
}