void tcp_new_connection(uv_stream_t* server, int status)
{
if (status)
{
fprintf(stderr, "tcp_connection_cb error![%s:%s]\n",
uv_err_name(status), uv_strerror(status));
return;
}
uv_tcp_t* client = (uv_tcp_t*)malloc(sizeof(uv_tcp_t));
if (NULL == client)
{
// !!!!!!!!!!!!!!!!!!!!! HERE !!!!!!!!!!!!!!!!!!!!!
// If status is 0, it means that the client has already connected
to the server on Windows platform.
// I want to close the established socket on server.
// Please tell me what should I do? Or do nothing like this?
fprintf(stderr, "malloc(uv_tcp_t) error!\n");
return;
}
int error_code = uv_tcp_init(server->loop, client);
if (error_code)
{
// Here?
fprintf(stderr, "uv_tcp_init error![%s:%s]\n", uv_err_name(status),
uv_strerror(status));
return;
}
error_code = uv_accept(server, (uv_stream_t*)client);
if (error_code)
{
uv_close((uv_handle_t*)client, &tcp_connection_on_close);
fprintf(stderr, "uv_accept error![%s:%s]\n", uv_err_name(status),
uv_strerror(status));
return;
}
// body
// ...
}
--
You received this message because you are subscribed to the Google Groups
"libuv" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/libuv.
For more options, visit https://groups.google.com/d/optout.