libco icon indicating copy to clipboard operation
libco copied to clipboard

请教用cpprestsdk与协程配合堵塞的问题

Open yangqun opened this issue 3 years ago • 5 comments

while(1){ websocket_incoming_message msg = env->client->receive().get(); .... co_cond_signal(env->cond); poll(NULL, 0, 0); } 请教下大神,这个阻塞导致程序一直在这里收数据,无法跳到另外的消费者协程那里去,应该怎么办呢?

yangqun avatar Dec 28 '21 01:12 yangqun

哩噶来件已经被我收埋佐啦哈哈 ^ ^

hobby avatar Dec 28 '21 01:12 hobby

按理说hook了所有网络请求,这里应该不会阻塞了吧?有哪位同学知道吗?

yangqun avatar Dec 28 '21 03:12 yangqun

按理说hook了所有网络请求,这里应该不会阻塞了吧?有哪位同学知道吗?

什么平台,gdb 调试下,看看是否 hook 成功。协程实现函数是否调用了:co_enable_hook_sys();

wenfh2020 avatar Dec 28 '21 08:12 wenfh2020

co_enable_hook_sys这个函数在所有协程函数第一行就写了的。

yangqun avatar Jan 07 '22 01:01 yangqun

co_cond_signal 这个看起来像是条件变量阻塞了,应该是没法hook的

losten-cn avatar Mar 16 '22 15:03 losten-cn