У меня есть приложение, которое использует библиотеку libuv. он запускает цикл по умолчанию:
uv_run(uv_default_loop());
Как приложение может быть изящно выведено в случае сбоя? В настоящее время я делаю это как в следующем примере:
uv_tcp_t* tcp = malloc(sizeof(uv_tcp_t));
int r = uv_tcp_init(uv_default_loop(), tcp);
if (r) {
free(tcp);
uv_loop_delete(default_loop);
exit(EXIT_FAILURE);
}
Должна ли вызываться функция uv_loop_delete
? Что оно делает? Отбрасывает ли он все ожидающие функции обратного вызова? Закрывает ли он все открытые TCP-соединения? Должен ли я сделать это вручную перед выходом?
P.S.: Невозможно добавить тег 'libuv' (менее 1500 репутации). Может ли кто-нибудь создать и добавить его?