From a57d52be928ae94328cf2902a25d878addde5548 Mon Sep 17 00:00:00 2001 From: YuQing <384681@qq.com> Date: Sat, 12 Sep 2020 21:32:50 +0800 Subject: [PATCH] extern function: sf_task_detach_thread --- src/sf_nio.c | 4 +++- src/sf_nio.h | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/sf_nio.c b/src/sf_nio.c index 874f747..2d410b8 100644 --- a/src/sf_nio.c +++ b/src/sf_nio.c @@ -38,7 +38,7 @@ void sf_set_parameters_ex(SFContext *sf_context, const int header_size, sf_context->timeout_callback = timeout_callback; } -static void sf_task_detach_thread(struct fast_task_info *task) +void sf_task_detach_thread(struct fast_task_info *task) { ioevent_detach(&task->thread_data->ev_puller, task->event.fd); @@ -213,6 +213,8 @@ static int sf_connect_server(struct fast_task_info *task) return sf_ioevent_add(task, (IOEventCallback) sf_client_sock_connect, task->connect_timeout); } else { + close(task->event.fd); + task->event.fd = -1; logError("file: "__FILE__", line: %d, " "connect to server %s:%d fail, errno: %d, " "error info: %s", __LINE__, task->server_ip, diff --git a/src/sf_nio.h b/src/sf_nio.h index fd01268..63fa149 100644 --- a/src/sf_nio.h +++ b/src/sf_nio.h @@ -61,6 +61,8 @@ int sf_set_read_event(struct fast_task_info *task); void sf_task_switch_thread(struct fast_task_info *task, const int new_thread_index); +void sf_task_detach_thread(struct fast_task_info *task); + static inline int sf_nio_forward_request(struct fast_task_info *task, const int new_thread_index) {