我在任务A中向一pipe写数据,在另一任务内读,数据都读到了,但write还是不返回,为什么?程序部分代码如下
任务A
ioctl(udpSendPipeId,FIONMSGS,(int)&msg_num);
if(msg_num<HEART_PIPE_MSG_NUM)
{
logMsg("write begin !\n");
write(udpSendPipeId,buf,28);
logMsg("write end!\n");
}
任务B
FD_ZERO(&read_set);
FD_ZERO(&write_set);
FD_SET(udp_recv_socket,&read_set);;
FD_SET(udpSendPipeId,&read_set);
selectNum=select(FD_SETSIZE,&read_set,(fd_set *)0,(fd_set *)0,&wait);
if(selectNum==0)
{
logMsg("Error 0:udp_task select()\n");
continue;
}
if(FD_ISSET(udpSendPipeId,&read_set))
{
if((udp_len=read(udpSendPipeId,buf,100))>0)
{
logMsg("SendPipe receive len %d > 0 \n",udp_len);
.......
}
}
[align=right][color=#000066][此贴子已经被作者于2004-7-6 16:41:30编辑过][/color][/align]
我要赚赏金打赏帖 |
|
|---|---|
| 【S32K3学习整理】使用 LPUART 的loopback 模式实现核间通讯被打赏¥28元 | |
| arduinounoq原生zephyr环境搭建被打赏¥31元 | |
| 树莓派3+Klipper,MPU6050共振补偿被打赏¥41元 | |
| GroveCreatorKit套件+摇杆测评被打赏¥18元 | |
| 设备功耗web监控界面(ESP32C5)被打赏¥28元 | |
| OrangePiZero2W系统被打赏¥33元 | |
| Linux环境下以模拟方式快速实现出入管理功能测试被打赏¥24元 | |
| 树莓派3+Klipper,老3D打印机满血升级被打赏¥33元 | |
| OK1126B-S开发板下串口屏及其应用被打赏¥21元 | |
| 低功耗超声波液位测距仪(ESP32S3)被打赏¥27元 | |
我要赚赏金
