<div dir="ltr">Hi all,<div><br></div><div>First of all, sorry for the delay. Moving libsysvipc into libc brought me a lot of problems. There are two things necessary for an application to use userland implementation. First the sysvipc daemon (located in usr.sbin) must be started and applications must set the environment variable USR_SYSVIPC to "1".</div>
<div>I have added wrappers in libc for shm* calls and modified those for sem* and msg*. Every time a wrapper is called, a global variable is inspected to see if the system call or the library function must be used. The global variable is set using a libc constructor and it is initialized with 1 if the environment variable is set to 1.</div>
<div><br></div><div>I have attached the results obtained last week. I will repeat them because there were made some improvements from that moment. For each implementation (kernel or userland) there are presented in the first column, the number of transactions including connections established and in the second one the number of transactions excluding connections established.</div>
<div><br></div><div>I am currently adding a fork and pthread_atfork wrapper in libc to avoid linking libc with libpthread (my implementation needs pthread_atfork) to succeed making another set of tests.</div><div><br></div>
<div>Thanks,</div><div>Larisa</div></div>