From a7693d66ca5596ba77e6bc5869fa9385fd4aa589 Mon Sep 17 00:00:00 2001 From: Jonathan Bradley Date: Sat, 23 Dec 2023 12:26:05 -0500 Subject: add placeholder mutex to allocator --- src/memory.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/memory.cpp b/src/memory.cpp index daaba8d..ce2fe00 100644 --- a/src/memory.cpp +++ b/src/memory.cpp @@ -1,6 +1,8 @@ #include "memory.hpp" +#include + const std::size_t MINIMUM_ALIGNMENT = 1; const std::size_t MAXIMUM_ALIGNMENT = 64; @@ -18,6 +20,7 @@ struct MemBucket { int64_t maxBlockCount; char *blocks; char *ptr; + std::mutex mtx; bool transient; }; @@ -76,6 +79,7 @@ void *Pke_New(std::size_t sz, std::size_t alignment, MemBucket *bkt) { long index = -1; MemBlock *block = nullptr; void *data = nullptr; + bkt->mtx.lock(); for (int64_t i = 0; i <= bkt->lastEmptyBlockIndex; ++i) { auto &blk = blocks[i]; misalignment = reinterpret_cast(blk.data) % calculatedAlignment; @@ -152,6 +156,7 @@ void *Pke_New(std::size_t sz, std::size_t alignment, MemBucket *bkt) { bkt->allocs++; assert(data >= bkt->ptr && "allocated data is before bucket data"); assert(data <= bkt->ptr + bkt->size && "allocated data is after bucket data"); + bkt->mtx.unlock(); return data; } -- cgit v1.2.3