libuv:uv_tcp_connect返回的int是什么?

时间:2016-06-17 13:45:52

标签: c return-value libuv

考虑uv_tcp_connect的{​​{3}} 这是函数的声明:

int uv_tcp_connect(uv_connect_t* req, uv_tcp_t* handle, const struct sockaddr* addr, uv_connect_cb cb);

它接受回调并返回一个整数 通常, libuv 中的其他函数会返回错误代码(如果没有错误,则返回0)。
我想这个也是一样的。

我不清楚(以及未记录的)是:如果返回值不等于0,无论如何都会调用回调吗?
换句话说,返回值是否与0不同意味着根本不会执行操作,或者保证调用回调?

不幸的是,似乎没有记录返回值实际是什么。

3 个答案:

答案 0 :(得分:2)

如果它返回非零结果,它将不会调用回调。

您可以查看此主题以获取更多详细信息:

https://github.com/libuv/libuv/issues/391

答案 1 :(得分:1)

请参阅文档中的error handling section。错误(返回< 0)表示不执行任何操作,也不会调用回调。

答案 2 :(得分:0)

From reading the source

  • 返回值是(负)错误代码,0表示一切正常。
  • 具有非零返回路径的代码不引用回调,因此我认为不会在出错时调用它。