i-RIC / iriclib

1 stars 3 forks source link

Make iRIC_Write_Sol_Start() and iRIC_Write_Sol_End() do nothing #44

Closed kskinoue0612 closed 6 years ago

kskinoue0612 commented 6 years ago

iRIC_Write_Sol_Start() creates 'Case1.cgn.lock', and iRIC_Write_Sol_End() deletes 'Case1.cgn.lock' now.

The reason that we implemented this function was to avoid the situation that solver and iRIC GUI opens the CGNS file at the same time. That causes CGNS file get broken.

But now, cg_iRIC_flush() implementation is changed, and CGNS is copied when it is called. And we have no chance that GUI and solver tries to open the same CGNS file. So the current implementation of iRIC_Write_Sol_Start() and iRIC_Write_Sol_End() is needless.

And, in fact the creation of 'Case1.cgn.lock' causes issues in some special situations, like that the iRIC workspace exists in a folder that is a target of Dropbox synchronization, or some virus scan software is running. In such situations, iRIC_Write_Sol_End() fails to remove the lock file, because it is hold by Dropbox daemon or virus scan daemon, etc. And, it causes solver hung up.

To avoid such issue, we make iRIC_Write_Sol_Start() and iRIC_Write_Sol_End() do nothing.