diff options
Diffstat (limited to 'library/cpp/malloc/api/malloc.cpp')
| -rw-r--r-- | library/cpp/malloc/api/malloc.cpp | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/library/cpp/malloc/api/malloc.cpp b/library/cpp/malloc/api/malloc.cpp new file mode 100644 index 00000000000..eed1c58a383 --- /dev/null +++ b/library/cpp/malloc/api/malloc.cpp @@ -0,0 +1,37 @@ +#include <stdlib.h> +#include <stdio.h> + +#include "malloc.h" + +namespace { + bool SetEmptyParam(const char*, const char*) { + return false; + } + + const char* GetEmptyParam(const char*) { + return nullptr; + } + + bool CheckEmptyParam(const char*, bool defaultValue) { + return defaultValue; + } +} + +namespace NMalloc { + volatile bool IsAllocatorCorrupted = false; + + TMallocInfo::TMallocInfo() + : Name() + , SetParam(SetEmptyParam) + , GetParam(GetEmptyParam) + , CheckParam(CheckEmptyParam) + { + } + + void AbortFromCorruptedAllocator(const char* errorMessage) { + errorMessage = errorMessage ? errorMessage : "<unspecified>"; + fprintf(stderr, "Allocator error: %s\n", errorMessage); + IsAllocatorCorrupted = true; + abort(); + } +} |
