@2017-11-22
源由
今天视频分发任务反馈故障了,三个进程的同步果然发生问题了。
过程
播放器占用视频文件,对视频文件进行删除和重命名操作。
具体操作是这样的
文件是否存在
重命名或删除是否成功
现象
传输的临时文件更名为WMV失败,关闭播放器文件后文件消失。
在程序运行,播放器未关闭的日志中,好像判断文件存在和删除居然返回了文件不存在。
重命名失败了。
经验
1
猜测是不是在目录项标记为删除,然后当引用技术为0时,文件才会被删掉。
寻求官方文档时
2
//谨慎使用下述代码
if (IsFileExist(name))
{
IsFileRemove(name);
}
// you should be carefor when you want to do sonthing related to the deleted file
//用多线程,多进程的思维考虑问题。