(gdb) n
Single stepping until exit from function __lll_lock_wait,
which has no line number information.
代码片段
while(1){
/*阻塞读*/
printf("========msgid=[%d]",msgid);
iRet = msgrcv(msgid,&sMsg,sizeof(APPMSG),MSGTYPE_REQ,MSG_NOERROR);
if ( iRet == -1){
if ( errno == EINTR )
{
printf("msgrcv Warning:[%s]",strerror(errno) );
continue;
}
}
}
功能说明:
接收消息用于管理子进程(相当于任务管理),当进入中断退出来时候卡住,有时卡在中断处理下一步,有时候卡在continue附近,有时候卡在msgrcv上面,好纠结,在网上查说是死锁。。。