Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Shawn McKinney
OpenLDAP
Commits
37e99c2b
Commit
37e99c2b
authored
Nov 15, 2019
by
Howard Chu
Browse files
ITS#9118 add MAP_NOSYNC for FreeBSD
parent
4bdf8bf5
Changes
1
Hide whitespace changes
Inline
Side-by-side
libraries/liblmdb/mdb.c
View file @
37e99c2b
...
...
@@ -4707,9 +4707,15 @@ mdb_env_map(MDB_env *env, void *addr)
return
mdb_nt2win32
(
rc
);
env
->
me_map
=
map
;
#else
/* !_WIN32 */
int
mmap_flags
=
MAP_SHARED
;
int
prot
=
PROT_READ
;
#ifdef MAP_NOSYNC
/* Used on FreeBSD */
if
(
flags
&
MDB_NOSYNC
)
mmap_flags
|=
MAP_NOSYNC
;
#endif
if
(
MDB_REMAPPING
(
env
->
me_flags
))
{
(
void
)
flags
;
env
->
me_map
=
mmap
(
addr
,
NUM_METAS
*
env
->
me_psize
,
PROT_READ
,
MAP_SHARED
,
env
->
me_map
=
mmap
(
addr
,
NUM_METAS
*
env
->
me_psize
,
prot
,
mmap_flags
,
env
->
me_fd
,
0
);
if
(
env
->
me_map
==
MAP_FAILED
)
{
env
->
me_map
=
NULL
;
...
...
@@ -4717,13 +4723,12 @@ mdb_env_map(MDB_env *env, void *addr)
}
}
else
{
int
prot
=
PROT_READ
;
if
(
flags
&
MDB_WRITEMAP
)
{
prot
|=
PROT_WRITE
;
if
(
ftruncate
(
env
->
me_fd
,
env
->
me_mapsize
)
<
0
)
return
ErrCode
();
}
env
->
me_map
=
mmap
(
addr
,
env
->
me_mapsize
,
prot
,
MAP_SHARED
,
env
->
me_map
=
mmap
(
addr
,
env
->
me_mapsize
,
prot
,
mmap_flags
,
env
->
me_fd
,
0
);
if
(
env
->
me_map
==
MAP_FAILED
)
{
env
->
me_map
=
NULL
;
...
...
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