32 const size_t memsize =
EstimateSize(nTracks, nTrackHits);
34 if (outputControl && outputControl->
useExternal()) {
35 static std::atomic_flag lock = ATOMIC_FLAG_INIT;
36 while (lock.test_and_set(std::memory_order_acquire)) {
39 if (outputControl->
size - ((
char*)outputControl->
ptrCurrent - (
char*)outputControl->
ptrBase) < memsize) {
40 outputControl->
size = 1;
42 lock.clear(std::memory_order_release);
47 lock.clear(std::memory_order_release);
52 internalMemory = malloc(memsize);
55 ptrOutput->SetMemorySize(memsize);