У меня есть приложение, которое использует библиотеку 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 репутации). Может кто-нибудь создать и добавить его?