aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Boberg <[email protected]>2025-10-06 13:48:18 +0200
committerGitHub Enterprise <[email protected]>2025-10-06 13:48:18 +0200
commit2e69e81b80c0fa85fb631a5c912c3d8461652ae2 (patch)
tree69c34ff7dd0d7c5d3d2ee3a1f1d62cba211f1211
parentadded default Linux UE toolchain directory (#558) (diff)
downloadzen-2e69e81b80c0fa85fb631a5c912c3d8461652ae2.tar.xz
zen-2e69e81b80c0fa85fb631a5c912c3d8461652ae2.zip
changed std::vector<bool> to std::vector<uint8_t> to avoid threading issues (#561)
-rw-r--r--src/zen/cmds/builds_cmd.cpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/zen/cmds/builds_cmd.cpp b/src/zen/cmds/builds_cmd.cpp
index 7f53a7f02..b9fe34443 100644
--- a/src/zen/cmds/builds_cmd.cpp
+++ b/src/zen/cmds/builds_cmd.cpp
@@ -2839,11 +2839,12 @@ namespace {
struct GeneratedBlocks
{
- std::vector<ChunkBlockDescription> BlockDescriptions;
- std::vector<uint64_t> BlockSizes;
- std::vector<CompositeBuffer> BlockHeaders;
- std::vector<CbObject> BlockMetaDatas;
- std::vector<bool> MetaDataHasBeenUploaded;
+ std::vector<ChunkBlockDescription> BlockDescriptions;
+ std::vector<uint64_t> BlockSizes;
+ std::vector<CompositeBuffer> BlockHeaders;
+ std::vector<CbObject> BlockMetaDatas;
+ std::vector<uint8_t>
+ MetaDataHasBeenUploaded; // NOTE: Do not use std::vector<bool> here as this vector is modified by multiple threads
tsl::robin_map<IoHash, size_t, IoHash::Hasher> BlockHashToBlockIndex;
};
@@ -2868,7 +2869,7 @@ namespace {
OutBlocks.BlockSizes.resize(NewBlockCount);
OutBlocks.BlockMetaDatas.resize(NewBlockCount);
OutBlocks.BlockHeaders.resize(NewBlockCount);
- OutBlocks.MetaDataHasBeenUploaded.resize(NewBlockCount, false);
+ OutBlocks.MetaDataHasBeenUploaded.resize(NewBlockCount, 0);
OutBlocks.BlockHashToBlockIndex.reserve(NewBlockCount);
RwLock Lock;