MCPcopy Create free account
hub / github.com/RedisGraph/RedisGraph / rm_set_mem_capacity

Function rm_set_mem_capacity

src/util/rmalloc.c:87–117  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

85}
86
87void rm_set_mem_capacity(int64_t cap) {
88 bool is_capped = (mem_capacity > 0); // current allocator applies memory cap
89 bool should_cap = (cap > 0); // should we use a memory capped allocator
90
91 // The local enforced capacity should be set
92 // before resetting function pointers
93 // for instance if we're switching to capped allocator
94 // we want the memory cap to be set
95 mem_capacity = cap;
96 if(should_cap && !is_capped) {
97 // store the function pointer original values and change them
98 // to the capped version
99 RedisModule_Free_Orig = RedisModule_Free;
100 RedisModule_Alloc_Orig = RedisModule_Alloc;
101 RedisModule_Calloc_Orig = RedisModule_Calloc;
102 RedisModule_Strdup_Orig = RedisModule_Strdup;
103 RedisModule_Realloc_Orig = RedisModule_Realloc;
104 RedisModule_Free = rm_free_with_capacity;
105 RedisModule_Alloc = rm_alloc_with_capacity;
106 RedisModule_Calloc = rm_calloc_with_capacity;
107 RedisModule_Strdup = rm_strdup_with_capacity;
108 RedisModule_Realloc = rm_realloc_with_capacity;
109 } else if(!should_cap && is_capped) {
110 // restore all function pointers to their original values
111 RedisModule_Free = RedisModule_Free_Orig;
112 RedisModule_Alloc = RedisModule_Alloc_Orig;
113 RedisModule_Calloc = RedisModule_Calloc_Orig;
114 RedisModule_Strdup = RedisModule_Strdup_Orig;
115 RedisModule_Realloc = RedisModule_Realloc_Orig;
116 }
117}
118
119#else
120

Callers 1

reconf_handlerFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected