Skip to content

Commit

Permalink
fix tcp, tls and examples
Browse files Browse the repository at this point in the history
  • Loading branch information
Ichishino committed Jan 5, 2024
1 parent 86a49bc commit 03eabaf
Show file tree
Hide file tree
Showing 5 changed files with 46 additions and 27 deletions.
19 changes: 12 additions & 7 deletions examples/http1_http2_server/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -408,15 +408,20 @@ app_on_destroy(
{
co_tls_tcp_server_destroy(self->tcp_server);

co_list_iterator_t* it =
co_list_get_head_iterator(self->tcp_clients);
while (it != NULL)
if (self->tcp_clients != NULL)
{
co_list_data_st* data =
co_list_get_next(self->tcp_clients, &it);
co_tls_tcp_client_destroy((co_tcp_client_t*)data->value);
co_list_iterator_t* it =
co_list_get_head_iterator(self->tcp_clients);

while (it != NULL)
{
co_list_data_st* data =
co_list_get_next(self->tcp_clients, &it);
co_tls_tcp_client_destroy((co_tcp_client_t*)data->value);
}

co_list_destroy(self->tcp_clients);
}
co_list_destroy(self->tcp_clients);

co_list_destroy(self->http_clients);
co_list_destroy(self->http2_clients);
Expand Down
19 changes: 12 additions & 7 deletions examples/http2_server/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -509,15 +509,20 @@ app_on_destroy(
{
co_tls_tcp_server_destroy(self->tcp_server);

co_list_iterator_t* it =
co_list_get_head_iterator(self->tcp_clients);
while (it != NULL)
if (self->tcp_clients != NULL)
{
co_list_data_st* data =
co_list_get_next(self->tcp_clients, &it);
co_tls_tcp_client_destroy((co_tcp_client_t*)data->value);
co_list_iterator_t* it =
co_list_get_head_iterator(self->tcp_clients);

while (it != NULL)
{
co_list_data_st* data =
co_list_get_next(self->tcp_clients, &it);
co_tls_tcp_client_destroy((co_tcp_client_t*)data->value);
}

co_list_destroy(self->tcp_clients);
}
co_list_destroy(self->tcp_clients);

co_list_destroy(self->http2_clients);
}
Expand Down
23 changes: 12 additions & 11 deletions examples/https_server/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -124,8 +124,6 @@ app_on_http_close(
co_http_client_t* http_client
)
{
(void)self;

app_client_log(http, http_client, "http closed");

co_list_remove(self->http_clients, http_client);
Expand Down Expand Up @@ -217,8 +215,6 @@ app_on_tcp_close(
co_tcp_client_t* tcp_client
)
{
(void)self;

app_client_log(tcp, tcp_client, "tcp closed");

co_list_remove(self->tcp_clients, tcp_client);
Expand Down Expand Up @@ -331,15 +327,20 @@ app_on_destroy(
app_st* self
)
{
co_list_iterator_t* it =
co_list_get_head_iterator(self->tcp_clients);
while (it != NULL)
if (self->tcp_clients != NULL)
{
co_list_data_st* data =
co_list_get_next(self->tcp_clients, &it);
co_tls_tcp_client_destroy((co_tcp_client_t*)data->value);
co_list_iterator_t* it =
co_list_get_head_iterator(self->tcp_clients);

while (it != NULL)
{
co_list_data_st* data =
co_list_get_next(self->tcp_clients, &it);
co_tls_tcp_client_destroy((co_tcp_client_t*)data->value);
}

co_list_destroy(self->tcp_clients);
}
co_list_destroy(self->tcp_clients);

co_list_destroy(self->http_clients);

Expand Down
2 changes: 0 additions & 2 deletions src/net/co_tcp_client.c
Original file line number Diff line number Diff line change
Expand Up @@ -360,8 +360,6 @@ co_tcp_client_on_close(
&client->sock.remote.net_addr,
"tcp closed by peer");

client->sock.local.is_open = false;

if (client->callbacks.on_close != NULL)
{
client->callbacks.on_close(client->sock.owner_thread, client);
Expand Down
10 changes: 10 additions & 0 deletions src/tls/co_tls_client.c
Original file line number Diff line number Diff line change
Expand Up @@ -365,6 +365,11 @@ co_tls_on_handshake_receive(
co_socket_t* sock
)
{
if (sock->tls == NULL)
{
return;
}

co_tls_client_t* tls = (co_tls_client_t*)sock->tls;

#ifdef CO_OS_WIN
Expand Down Expand Up @@ -451,6 +456,11 @@ co_tls_on_handshake_timer(
co_socket_t* sock =
(co_socket_t*)co_timer_get_user_data(timer);

if (sock->tls == NULL)
{
return;
}

co_tls_log_error(
&sock->local.net_addr, "<--", &sock->remote.net_addr,
"tls handshake timeout");
Expand Down

0 comments on commit 03eabaf

Please sign in to comment.