75fceae700
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
39 lines
1.3 KiB
C
39 lines
1.3 KiB
C
// Copyright 2017 The LevelDB Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file. See the AUTHORS file for names of contributors.
|
|
|
|
#ifndef STORAGE_LEVELDB_PORT_PORT_CONFIG_H_
|
|
#define STORAGE_LEVELDB_PORT_PORT_CONFIG_H_
|
|
|
|
// Define to 1 if you have a definition for fdatasync() in <unistd.h>.
|
|
#if !defined(HAVE_FDATASYNC)
|
|
#cmakedefine01 HAVE_FDATASYNC
|
|
#endif // !defined(HAVE_FDATASYNC)
|
|
|
|
// Define to 1 if you have a definition for F_FULLFSYNC in <fcntl.h>.
|
|
#if !defined(HAVE_FULLFSYNC)
|
|
#cmakedefine01 HAVE_FULLFSYNC
|
|
#endif // !defined(HAVE_FULLFSYNC)
|
|
|
|
// Define to 1 if you have a definition for O_CLOEXEC in <fcntl.h>.
|
|
#if !defined(HAVE_O_CLOEXEC)
|
|
#cmakedefine01 HAVE_O_CLOEXEC
|
|
#endif // !defined(HAVE_O_CLOEXEC)
|
|
|
|
// Define to 1 if you have Google CRC32C.
|
|
#if !defined(HAVE_CRC32C)
|
|
#cmakedefine01 HAVE_CRC32C
|
|
#endif // !defined(HAVE_CRC32C)
|
|
|
|
// Define to 1 if you have Google Snappy.
|
|
#if !defined(HAVE_SNAPPY)
|
|
#cmakedefine01 HAVE_SNAPPY
|
|
#endif // !defined(HAVE_SNAPPY)
|
|
|
|
// Define to 1 if your processor stores words with the most significant byte
|
|
// first (like Motorola and SPARC, unlike Intel and VAX).
|
|
#if !defined(LEVELDB_IS_BIG_ENDIAN)
|
|
#cmakedefine01 LEVELDB_IS_BIG_ENDIAN
|
|
#endif // !defined(LEVELDB_IS_BIG_ENDIAN)
|
|
|
|
#endif // STORAGE_LEVELDB_PORT_PORT_CONFIG_H_
|