summaryrefslogtreecommitdiff
path: root/source3/locking/shmem_sysv.c
AgeCommit message (Collapse)AuthorFilesLines
1997-12-16- handle ENOSPC in shmem init.Andrew Tridgell1-4/+6
- be a little bit more friendly about grabbing semaphores (This used to be commit 87f88708939a3b72b26716a0d6648c4ea2d14047)
1997-11-01don't use SEM_UNDO because of ridiculously small undo limits on someAndrew Tridgell1-1/+25
OSes. Instead add explicit checks for dead locks at startup. (This used to be commit 79858d610c37675b9dc56a949723053ac9b67620)
1997-11-01some locking code cleanupsAndrew Tridgell1-152/+152
(This used to be commit 6d77311d6cecabafb86c02e26b30724425ef6208)
1997-10-29damn. We need root privilages to do semaphore operations even if weAndrew Tridgell1-28/+43
have done the semget() as root. The problem is that become_root() and unbecome_root() are so slow! I've provided two options. The default is to set the semaphores (but _not_ the shared memory) world writeable so that a become_root() isn't needed. Otherwise you can define SECURE_SEMAPHORES and pay the performance penalty. (This used to be commit 2bbd8d2cbc5cf1901859a181bc9ec29822995e51)
1997-10-29clean up the hash entry code a bit. Got rid of lp_shmem_hash_size()Andrew Tridgell1-15/+55
and made it private to the 2 shmem implementations. Added new shmops->hash_size() function. Added code to handle the IPC system limits by looping decreasing the size of the resources (semaphores and shared memory) that we request until we get under the system limits, which can be quite low on some systems! Added checks that the creator of the IPC objects is root. Otherwise we would be open to a security hole where someone pre-creates the shared memory segment and attaches. (This used to be commit 6b6f624b63137d4750200e8cb4961b1402513632)
1997-10-28fix for broken sunos4 includes (doesn't have SHM_R)Andrew Tridgell1-0/+4
(This used to be commit 6ca96782ace2258707f49d204726a00baef9d941)
1997-10-28SYSV IPC implementation of fast share modes.Andrew Tridgell1-0/+621
It will try sysv IPC first, then if that fails it will try mmap(), then after that it will try share files. I have defined USE_SYSV_IPC for Linux, Solaris and HPUX at the moment. Probably a lot more could have it defined. In fact, the vast majority of systems support it. Need autoconf again :-) It should actually be faster than the mmap() version, and doesn't need any lock files. This means the problem of the share mem file being on a NFS drive will be gone. (This used to be commit cc8fe0f0629eea9acc39e30d8d76d5890a5b6978)