aboutsummaryrefslogtreecommitdiff
path: root/zenstore
diff options
context:
space:
mode:
authorMartin Ridgers <[email protected]>2022-02-21 12:42:42 +0100
committerMartin Ridgers <[email protected]>2022-02-21 12:42:42 +0100
commitcea930e12929859608c102a378c01c209b523688 (patch)
tree1fc44e5cf629529aa9f0c6e413cc8efc9236d6a9 /zenstore
parentValue propagation fix - Read/Write ValueAPI as CompressedBinary type when wri... (diff)
downloadzen-cea930e12929859608c102a378c01c209b523688.tar.xz
zen-cea930e12929859608c102a378c01c209b523688.zip
Marked a few file descriptors to be closed on execute (POSIX)
Diffstat (limited to 'zenstore')
-rw-r--r--zenstore/basicfile.cpp4
-rw-r--r--zenstore/filecas.cpp2
2 files changed, 3 insertions, 3 deletions
diff --git a/zenstore/basicfile.cpp b/zenstore/basicfile.cpp
index dcd9a8575..038d83493 100644
--- a/zenstore/basicfile.cpp
+++ b/zenstore/basicfile.cpp
@@ -72,7 +72,7 @@ BasicFile::Open(std::filesystem::path FileName, bool IsCreate, std::error_code&
return;
}
#else
- int OpenFlags = O_RDWR;
+ int OpenFlags = O_RDWR | O_CLOEXEC;
OpenFlags |= IsCreate ? O_CREAT | O_TRUNC : 0;
int Fd = open(FileName.c_str(), OpenFlags, 0666);
@@ -366,7 +366,7 @@ LockFile::Create(std::filesystem::path FileName, CbObject Payload, std::error_co
return;
}
#elif ZEN_PLATFORM_LINUX || ZEN_PLATFORM_MAC
- int Fd = open(FileName.c_str(), O_RDWR | O_CREAT, 0666);
+ int Fd = open(FileName.c_str(), O_RDWR | O_CREAT | O_CLOEXEC, 0666);
if (Fd < 0)
{
Ec = zen::MakeErrorCodeFromLastError();
diff --git a/zenstore/filecas.cpp b/zenstore/filecas.cpp
index 6c137e128..f2f4465cc 100644
--- a/zenstore/filecas.cpp
+++ b/zenstore/filecas.cpp
@@ -388,7 +388,7 @@ FileCasStrategy::InsertChunk(const void* const ChunkData, const size_t ChunkSize
}
#else
// Attempt to exclusively create the file.
- auto InternalCreateFile = [&] { return open(Name.ShardedPath.c_str(), O_WRONLY | O_CREAT | O_EXCL, 0666); };
+ auto InternalCreateFile = [&] { return open(Name.ShardedPath.c_str(), O_WRONLY | O_CREAT | O_EXCL | O_CLOEXEC, 0666); };
int Fd = InternalCreateFile();
if (Fd < 0)
{