【发布时间】:2012-02-22 23:53:48
【问题描述】:
我有一个使用 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 声望)。有人可以创建并添加它吗?
【问题讨论】:
-
请编辑 libuv 的描述,我不是 100% 确定 libuv 是什么意思。
-
谢谢!编辑。你能复习一下吗?
-
可能是因为我保存描述时 stackoverflow 崩溃了。现在它没有向我显示编辑 wiki 的链接。这是我添加的摘录和描述:摘录:“node.js的平台层”描述:“libuv是node.js的平台层。它的目的是抽象Windows上的IOCP和Unix系统上的libev。它旨在最终包含这个库中的所有平台差异。[github上的libuv][1][1]github.com/joyent/libuv
-
啊,我也没有标记rep来编辑标记描述,我只能创建标记。
标签: c exit nonblocking libuv