Ответ 1
Объявление uv_loop_delete здесь, а исходный код здесь. Это выглядит так:
void uv_loop_delete(uv_loop_t* loop) {
uv_ares_destroy(loop, loop->channel);
ev_loop_destroy(loop->ev);
#if __linux__
if (loop->inotify_fd == -1) return;
ev_io_stop(loop->ev, &loop->inotify_read_watcher);
close(loop->inotify_fd);
loop->inotify_fd = -1;
#endif
#if HAVE_PORTS_FS
if (loop->fs_fd != -1)
close(loop->fs_fd);
#endif
}
Он будет эффективно очищать каждый дескриптор файла, который можно очистить. Он закроет TCP-соединение, Inotify connections, Socket, используемый для чтения событий, Pipe fds и т.д. И т.д.
= > Да, эта функция закроет все, что вы открыли через libuv.
NB: Во всяком случае, когда ваше приложение выйдет, ваша операционная система очистит и закроет все, что вы оставили открытым, без пощады.