1 问题描述
在移植中间件过程中,在SylixOS调用write函数写入0字节的数据到文件中时,会导致对应的中间件测试用例失败,失败的原因是文件系统中的write函数在Linux系统和SylixOS有区别,两种实现的差别如下。
2 write函数的实现机制
2.1 SylixOS实现机制
在SylixOS下通过write 函数写数据到普通文件中时,第一步会判断写入的数据是否为0,如果是0直接返回失败,具体实现如程序清单 2.1所示。
程序清单 2.1 SylixOS文件系统写函数
static ssize_t __ramFsPWrite (PLW_FD_ENTRY pfdentry, PCHAR pcBuffer, size_t stNBytes, off_t oftPos) { PLW_FD_NODE pfdnode = (PLW_FD_NODE)pfdentry->FDENTRY_pfdnode; PRAM_NODE pramn = (PRAM_NODE)pfdnode->FDNODE_pvFile; ssize_t sstWriteNum = PX_ERROR;
|