#166 修正tcp_stream_destroy命中assert的问题
* 原实现在TCP连接为PASSTHROUGH的情况下,没有清空defer_upstream_fd和defer_downstream_fd,导致连接销毁时命中assert; * 现修正,在设置连接为PASSTHROUGH时,清空defer_upstream_fd和defer_downstream_fd。
This commit is contained in:
@@ -994,15 +994,17 @@ void ssl_downstream_create_on_fail(enum e_future_error err, const char * what, v
|
||||
void ssl_upstream_create_on_success(future_result_t * result, void * user)
|
||||
{
|
||||
struct tfe_stream_private * _stream = (struct tfe_stream_private *) user;
|
||||
evutil_socket_t fd = -1;
|
||||
enum ssl_stream_action ssl_action = ssl_upstream_create_result_release_action(result);
|
||||
if (SSL_ACTION_PASSTHROUGH == ssl_action)
|
||||
{
|
||||
_stream->tcp_passthough = 1;
|
||||
_stream->conn_upstream = __conn_private_create_by_fd(_stream, _stream->defer_fd_upstream);
|
||||
_stream->conn_downstream = __conn_private_create_by_fd(_stream, _stream->defer_fd_downstream);
|
||||
__conn_private_enable(_stream->conn_downstream);
|
||||
__conn_private_enable(_stream->conn_upstream);
|
||||
|
||||
_stream->tcp_passthough = 1;
|
||||
_stream->defer_fd_downstream = 0;
|
||||
_stream->defer_fd_upstream = 0;
|
||||
}
|
||||
else if (SSL_ACTION_SHUTDOWN == ssl_action)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user