我的程序在轮询调用中间歇性挂起
跟踪输出
poll([{fd=52, events=POLLIN}], 1, 250 <unfinished ...>
<... poll resumed> ) = 0 (Timeout) <0.250281>
wait4(16953, 0x7f00cd24d90c, WNOHANG, NULL) = 0 <0.000019>
看起来它正在等待 POLLIN(POLLIN-无数据读取)事件。从 lsof 输出我找到了该文件,该文件是文本文件。但不确定是什么导致轮询调用挂起
如有任何意见,我们将不胜感激
最佳答案
就我而言,应用程序进程似乎陷入了 POLLIN 事件,但实际挂起是在其他事件中,我的应用程序进程正在等待其他进程响应。
关于linux - 卡在 poll 系统调用中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47872095/