0
두 개의 vxWorks 작업간에 정보를 전송하기 위해 파이프를 사용하고 있습니다. 우리는 더 이상 MAX_RX_LEN보다 메시지를 보낼 경우 (예 : txLen> MAX_RX_LEN은) 우리가이 메시지의 나머지를 얻기 위해 읽는vxWorks 파이프를 사용할 때 왜 데이터가 손실됩니까?
Init()
{
fd = open("/pipe/mydev", O_RDWR, 0777);
...
}
taskRx()
{
...
len = read(fd, rxbuf, MAX_RX_LEN);
...
}
taskTx()
{
...
len = write(fd, txbuf, txLen);
...
}
: 여기
은 코드 샘플입니다.우리가 알아챈 것은 두 번째 읽기가 데이터를받지 못했다는 것입니다.
왜 그럴까요?