这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 为什么write不返回?

共3条 1/1 1 跳转至

为什么write不返回?

菜鸟
2004-07-07 00:40:31     打赏
我在任务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]



关键词: 为什么     write     返回    

菜鸟
2004-07-07 21:03:00     打赏
2楼
可能是你的pipe已经满了。

菜鸟
2004-07-07 21:53:00     打赏
3楼
写之前,查过msg_num=0; 且数据都读过后,应该管道不满吧

共3条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]