跳至主要內容
关于 RT-Thread DFS 中 CLOSE 失败后处理方式的一些看法

关于 RT-Thread DFS 中 CLOSE 失败后处理方式的一些看法

前两天项目中出现一个情况:

运行过程中需要通过文件记录一些数据,这些文件是存在SD卡中的,而SD卡会被拔出然后再插入。然而再次插入后发现读不出数据了。经过排查发现是由于需要记录数据,设备开机会打开文件,并且保持打开的状态,一旦检测到SD卡被拔出会自动关闭文件。但是由于SD卡已经被拔出,所以关闭文件是必然失效的。所以导致读不出数据。

针对上述问题,第一个想到的方案就是文件系统被重新挂载(SD卡重新插入)的时候再次打开一次文件,这也是可行的,但是先前打开的 fd 呢,是否在调用 close 的时候就会被释放?


WKJay...大约 4 分钟开发笔记RT-ThreadDFS虚拟文件系统