OSSP CVS Repository |
![]() |
|
MM package was used in a multiprocess environment where communicating processes (using the same shared memory region) are NOT related, therefore in a multireader scenario we easily can get into situation when a process will try to unlock a semaphore (when number of readers goes to 0) which was locked by some other process (the first reader). Of course, it won't work. I was able to prove (with some debug printouts added) that it's exactly what happens.by anonymous on 2005-Dec-14 19:32
In MM description one can read: "..usage of shared memory between forked (and this way strongly related) processes..." and this requirement was obviously violated. I believe that the only reasonable workaround for our environment is the one I already have - not to use MM_LOCK_RD locking mode but only MM_LOCK_RW.