In a non-threaded environment, no. However if an application, or
applications, write two different keys in two different threads, then
there is the possibility of data loss, same reason for the mutexes.
After re-examining the code, the reason why merge_sessions was failing
when comparing nested hashes is because @old is a shallow copy of the
session when it was originally requested. The reason why the two or
three patches I've seen work is essentially a short circuit that
suffers the possible outcome presented above.
I am reviewing the code and examining possible ways to better resolve an update.
--
stadik.net