Closed atruskie closed 9 years ago
Diagnosed: Concurrent dictionary allows the value to be created multiple times by different threads, but only one value will be stored.
On mono, apparently opening the same file (Read
mode and Share
) results in an System.IO.IOException.
Solution change the ConcurrentDictionary to a proper lock
- slower but prevents the file from ever being read twice.
For accessing the IndexProperties.yml there is a Concurrent dictionary that should allow parallel and coordinated reading and caching of the properties.
Works on windows, fails on mono.