summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorAdam Azarchs <adam.azarchs@10xgenomics.com>2018-09-19 16:29:00 -0700
committerAdam Azarchs <adam.azarchs@10xgenomics.com>2019-02-22 13:00:56 -0800
commit75fceae7003e217e16b04433831da7528ae56881 (patch)
tree2a9f4389df93e28e20fef4df70e3ca3409f4fce6 /CMakeLists.txt
parentfe4494804f5e3a2e25485d32aeb0eb7d2f25732e (diff)
downloadleveldb-75fceae7003e217e16b04433831da7528ae56881.tar.gz
Add O_CLOEXEC to open calls.
This prevents file descriptors from leaking to child processes. When compiled for older (pre-2.6.23) kernels which lack support for O_CLOEXEC there is no change in behavior. With newer kernels, child processes will no longer inherit leveldb's file handles, which reduces the changes of accidentally corrupting the database. Fixes https://github.com/google/leveldb/issues/623
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt1
1 files changed, 1 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index f6a7c0a..9b0042b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -38,6 +38,7 @@ include(CheckCXXSymbolExists)
# (-std=c11), but do expose the function in standard C++ mode (-std=c++11).
check_cxx_symbol_exists(fdatasync "unistd.h" HAVE_FDATASYNC)
check_cxx_symbol_exists(F_FULLFSYNC "fcntl.h" HAVE_FULLFSYNC)
+check_cxx_symbol_exists(O_CLOEXEC "fcntl.h" HAVE_O_CLOEXEC)
include(CheckCXXSourceCompiles)