projects
/
platform
/
upstream
/
lmdb.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
68f64aa
)
Use ftok() for semget(), and only lower mode bits
author
Hallvard Furuseth
<hallvard@openldap.org>
Tue, 2 Jun 2015 18:51:03 +0000
(20:51 +0200)
committer
Hallvard Furuseth
<hallvard@openldap.org>
Tue, 2 Jun 2015 18:51:03 +0000
(20:51 +0200)
libraries/liblmdb/mdb.c
patch
|
blob
|
history
diff --git
a/libraries/liblmdb/mdb.c
b/libraries/liblmdb/mdb.c
index
482b98e
..
cc0944d
100644
(file)
--- a/
libraries/liblmdb/mdb.c
+++ b/
libraries/liblmdb/mdb.c
@@
-4548,7
+4548,10
@@
mdb_env_setup_locks(MDB_env *env, char *lpath, int mode, int *excl)
if (!env->me_wmutex) goto fail_errno;
#elif defined(MDB_USE_SYSV_SEM)
unsigned short vals[2] = {1, 1};
- semid = semget(IPC_PRIVATE, 2, mode);
+ key_t key = ftok(lpath, 'M');
+ if (key == -1)
+ goto fail_errno;
+ semid = semget(key, 2, (mode & 0777) | IPC_CREAT);
if (semid < 0)
goto fail_errno;
semu.array = vals;