You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
infer_clone/sledge/test/analyze/FA_mallctl_thread_allocated...

33 lines
822 B

/*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
#include <cstddef>
#include <cstdint>
extern "C" int mallctl(const char* name, void* oldp, size_t* oldlenp,
void* newp, size_t newlen) __attribute__((__weak__));
int main() {
volatile uint64_t* counter;
size_t counterLen = sizeof(uint64_t*);
if (mallctl("thread.allocatedp", static_cast<void*>(&counter), &counterLen,
nullptr, 0) != 0) {
return 1;
}
if (counterLen != sizeof(uint64_t*)) {
return 1;
}
// false alarm: the spec of mallctl does not special case
// thread.allocatedp and set counter to a valid pointer
uint64_t origAllocated = *counter;
return 0;
}