【问题标题】:libuv: what's the int returned by uv_tcp_connect?libuv:uv_tcp_connect 返回的 int 是什么?
【发布时间】:2016-06-17 13:45:51
【问题描述】:

考虑uv_tcp_connectdocumentation
这是函数的声明:

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

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

我不清楚(也没有记录)的是:如果返回值不等于 0,是否仍会调用回调?
换句话说,返回值不为 0 是否意味着操作根本不执行,或者保证调用回调?

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

【问题讨论】:

    标签: c return-value libuv


    【解决方案1】:

    请参阅文档中的error handling section。错误(return

    【讨论】:

    • 没有一个句子像你在那个部分提到的那个。
    • 哎呀,我发誓它就在那里(我写了那个)。解决这个问题! github.com/libuv/libuv/pull/918
    • 谢谢。 My C++ wrapper 正在从这些信息中受益。 :-)
    【解决方案2】:

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

    您可以查看此线程以获取更多详细信息:

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

    【讨论】:

      【解决方案3】:

      From reading the source:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-07-01
        • 1970-01-01
        • 2012-06-21
        • 1970-01-01
        • 1970-01-01
        • 2020-06-05
        • 2014-12-24
        • 1970-01-01
        相关资源
        最近更新 更多