Skip to content

我发现co_hook_sys_call.cpp里面对connect的hook没有使用poll去等待异步结果,导致一些第三方库connect时失败 #12

@dreamcreated

Description

@dreamcreated

因为很多第三方库(比如hiredis或者mysql c driver) 创建连接时使用的是同步connect的函数, 接入libco后,mysql c driver 调用 mysql_real_connect 会返回115错误,调试发现当调用到hook的connect函数后,直接返回ret -1, errno为115。
我觉得这里是不是应该模拟同步connect时的ret, 即发起连接请求后立即调用co_poll yield出去,等待connect成功后再回到这里返回正确的ret。
现在的实现导致mysql c driver无法正确连接成功。

https://github.com/Tencent/libco/ 这里的版本的connect实现是对的。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions