[GSOC] System V IPC in userspace week5 report
grigore larisa <[email protected]>
| Newsgroups | gmane.os.dragonfly-bsd.kernel |
|---|---|
| Message-ID | <CAKt0zCxpy9_7kziPstACD8j03M0tdMwHeUGVOF7JLLCQn=LtEg@mail.gmail.com> |
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