Subject: | Race condition in Cache::SizeAwareFileCache |
Not only the setter but also the getter method of
Cache::SizeAwareFileCache updates the stored information. The getter
does so by first reading the cache data, update its access time, and
then overwriting it, without any locks. This causes loss of updates.
Data written from another process, during the execution of the get
method will be overwritten by the getter with an older value.