Hello,
Currently I've implemented the following variants which already cover 95% of
all current major Unix platforms AFAIK:
Shared Memory:
o Classical mmap() on temporary file
o SVR4-style mmap() on /dev/zero
o mmap() via POSIX.1 shm_open() on temporary file
o 4.4BSD-style
Ralf S. Engelschall wrote:
Mutex/Semaphore:
o 4.2BSD-style flock() on temporary file
o SVR4-style fcntl() on temporary file
o SysV IPC semget()
and send me your results.
One thing I noticed that if all 3 mutexes are available, fcntl()
will be chosen (since it's the last).