Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

修复在threadDispatcher启用时,socket相关的读取造成的死锁问题 #665

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

cc004
Copy link

@cc004 cc004 commented Aug 23, 2024

在threadDispatcherEnabled时,由于使用抢先式调度,会导致socketpair在其中一个线程在接收时,持续占用调度,导致永远无法接收到发送线程的信息。

同理,由于ppoll没有考虑io是否有信息可读,会导致线程持续卡死在后接的recv中,导致实际运行逻辑与实际不符,同时如果其他线程正在同一socket准备发送请求,也会造成死锁。

详细样例可见本fork的master分支

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant