Linux poll()系统调用卡在restart_syscall()中

Linux poll()系统调用卡在restart_syscall()中,linux,system-calls,systems-programming,Linux,System Calls,Systems Programming,进程间歇性地陷入轮询调用中。此进程使用轮询系统调用读取套接字上接收的数据。重新启动后,它会正常运行几天,然后不会从套接字读取任何内容 tcpdump显示端口上收到的数据与预期一致。但是,不是通过过程读取的 strace输出如下: VMFR2 tmp# strace -p 16528 Process 16528 attached restart_syscall(<... resuming interrupted call ...> VMFR2 tmp#strace-p 16528

进程间歇性地陷入轮询调用中。此进程使用轮询系统调用读取套接字上接收的数据。重新启动后,它会正常运行几天,然后不会从套接字读取任何内容

tcpdump显示端口上收到的数据与预期一致。但是,不是通过过程读取的

strace输出如下:

VMFR2 tmp# strace -p 16528
Process 16528 attached
restart_syscall(<... resuming interrupted call ...> 
VMFR2 tmp#strace-p 16528
流程16528已附
重新启动系统调用(

请分享如何调试/解决问题的指针?

我会尝试使用调试器附加,并检查
poll()
参数…或在进程卡住之前附加
strace