进程A中,在一个单独的线程里对收到的消息数据进行处理,并打开一个文件,写入数据,关闭文件。关闭文件后,执行CopyFile, 复制当前文件,生成一个新文件,再由另一个进程B对新生成的文件进行读取。
现在在fopen时,会频繁报错 open file error,但是具体的error原因,没有在code中打出来,目前也无法得知。
2018/04/26 10:28:44.222 I ThreadB Process message: src= 5
2018/04/26 10:28:44.223 I ThreadB Process message: src= 0
2018/04/26 10:28:44.482 I ThreadB Process message: src= 1
2018/04/26 10:28:44.482 E ThreadB Error Opening ** file: C:\writting.txt
2018/04/26 10:28:44.482 I ThreadB Process message: src= 2
2018/04/26 10:28:44.482 E ThreadB Error Opening ** file: C:\writting.txt
2018/04/26 10:28:44.482 I ThreadB Process message: src= 3
2018/04/26 10:28:44.482 E ThreadB Error Opening ** file: C:\writting.txt
从log中可以看到,起初的一段时间,是可以正常工作的,有三四个open error出现,基本在几个毫秒级别,然后又回复正常,然后会重复这种情况,间隔几秒,十几秒,或者几分钟会出现几个error,最后,会连续出现error,然后就无法恢复了。最后只有重启进程,删掉文件并重建。
对文件处理不是很了解,重开一贴顶上去,请大牛指教原因。
谢谢