diff options
author | Adam Azarchs <adam.azarchs@10xgenomics.com> | 2018-09-19 16:29:00 -0700 |
---|---|---|
committer | Adam Azarchs <adam.azarchs@10xgenomics.com> | 2019-02-22 13:00:56 -0800 |
commit | 75fceae7003e217e16b04433831da7528ae56881 (patch) | |
tree | 2a9f4389df93e28e20fef4df70e3ca3409f4fce6 /CMakeLists.txt | |
parent | fe4494804f5e3a2e25485d32aeb0eb7d2f25732e (diff) | |
download | leveldb-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.txt | 1 |
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) |