Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Joe Martin
OpenLDAP
Commits
e911ad64
Commit
e911ad64
authored
Sep 27, 2016
by
Hallvard Furuseth
Browse files
ITS#8505 Clarify fork() caveat, mdb_env_get_fd(), flock->fcntl.
parent
6e81d407
Changes
1
Hide whitespace changes
Inline
Side-by-side
libraries/liblmdb/lmdb.h
View file @
e911ad64
...
...
@@ -96,11 +96,12 @@
* transactions. Each transaction belongs to one thread. See below.
* The #MDB_NOTLS flag changes this for read-only transactions.
*
* - Use an MDB_env* in the process which opened it,
without
fork()
ing
.
* - Use an MDB_env* in the process which opened it,
not after
fork().
*
* - Do not have open an LMDB database twice in the same process at
* the same time. Not even from a plain open() call - close()ing it
* breaks flock() advisory locking.
* breaks fcntl() advisory locking. (It is OK to reopen it after
* fork() - exec*(), since the lockfile has FD_CLOEXEC set.)
*
* - Avoid long-lived transactions. Read transactions prevent
* reuse of pages freed by newer write transactions, thus the
...
...
@@ -794,6 +795,10 @@ int mdb_env_get_flags(MDB_env *env, unsigned int *flags);
int
mdb_env_get_path
(
MDB_env
*
env
,
const
char
**
path
);
/** @brief Return the filedescriptor for the given environment.
*
* This function may be called after fork(), so the descriptor can be
* closed before exec*(). Other LMDB file descriptors have FD_CLOEXEC.
* (Until LMDB 0.9.18, only the lockfile had that.)
*
* @param[in] env An environment handle returned by #mdb_env_create()
* @param[out] fd Address of a mdb_filehandle_t to contain the descriptor.
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment