Hi all, This week I've changed the shared memory approach according to Samuel and Markus feedback. For each ipc resource, the daemon creates a file in a known directory, open it and installs a file descriptor in the client files table. After the daemon open its, it does a *unlink()* call (as Samuel suggested) such as no other process can access it. *shmat* is done using *mmap* call and the daemon is announced in order to update some data. I have discussed with Markus about the case a process bypasses the API and calls directly *mmap* instead of *shmat*. A way of resolving this problem is to use *kevents* and add another type of EVFILT_VNODE events (for mmap and munmap). *shmctl* is implementing by exchanging data with the daemon. In the last part of the week I have studied the semaphores kernel implementation and made a plan for the userland approach.
Larisa
