Question: What happens when (especially suddenly during operation) the DigaSQL.dll can't locate a necessary parameter file?
Answer: The DigaSQL.dll behaves as follows when a parameter file is suddenly unavailable.
- A parameter file cannot be accessed;
- The next attempt to access a parameter (reading or writing) will trigger a check whether the 'Modified' time of the parameter file has changed (if it has, then the file will be reloaded). If the file is not accessible, then an error message appears (as long as it is not repressed by the application). The new system status (File or Server for example is unusable) is stored internally. NOTE: this file check takes place synchronously in the called thread. In case the search for the file takes a long time (typically 10-15 seconds with an unavaliable sever), the call will be blocked.
- Further read access to the parameter is carried out without problem, that is; without being blocked and without error messages because the requests are being served simply from the memory.
- Further write access attempts will not be carried out. The reason is that the opening and locking of the file serves as a synchronization between the various computers. When a file cannot be opened, writing to the file is therefore also not possible. In this case an error message will appear, not necessarily for every write attempt, but rather a maximum of every 2.5 seconds.
- The registry background thread checks if the files are once again available every 10-30 seconds. If they are, then the internal 'unavailable' flag is reset and all the read and write access capabilities work as usual.