提交 634d936a authored 作者: Anthony Minessale's avatar Anthony Minessale

kill socket in esl_disconnect to prevent blocking

上级 2f1c82ff
......@@ -1123,6 +1123,12 @@ ESL_DECLARE(esl_status_t) esl_disconnect(esl_handle_t *handle)
return ESL_FAIL;
}
if (handle->sock != ESL_SOCK_INVALID) {
closesocket(handle->sock);
handle->sock = ESL_SOCK_INVALID;
status = ESL_SUCCESS;
}
if (mutex) {
esl_mutex_lock(mutex);
}
......@@ -1145,12 +1151,6 @@ ESL_DECLARE(esl_status_t) esl_disconnect(esl_handle_t *handle)
esl_event_safe_destroy(&handle->last_ievent);
esl_event_safe_destroy(&handle->info_event);
if (handle->sock != ESL_SOCK_INVALID) {
closesocket(handle->sock);
handle->sock = ESL_SOCK_INVALID;
status = ESL_SUCCESS;
}
if (mutex) {
esl_mutex_unlock(mutex);
esl_mutex_lock(mutex);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论