Hi Leon,
On Tuesday 19 July 2005 17:05, Leon Brits wrote:
I have a dataspace, reserved as pool 1 by dm_phys, which two tasks shares. They synchronise access to the data by setting a lock at the start of the dataspace with a cmpxchg-loop. All tasks map the dataspace to their own VM area.
The problem is that if one of the tasks exists then the other would stop with a page fault error the next time it accesses the shared dataspace. Both of them where happily reading and writing to the dataspace at exactly the place where the page fault occur.
Hmm, that might be a bug in the resource de-allocation function of dm_phys. I assume that you use the event-server, don't you? In this case, all resources (names, dataspaces, ...) bound to a task are freed at exit of the task. Which task exits? The task which allocated the dataspace or the other?
Frank