template <size_t P, size_t O>

struct ArenaExclusiveFixture

Defined at line 331 of file ../../zircon/kernel/lib/fbl/gparena_tests.cc

A helper that continuously allocates a few objects at a time, tags each object with a value

unique to that allocation, and checks that the tags are unchanged before freeing the objects. If

the arena ever hands out an object that is already allocated, such as due to an ABA race in the

free list, a tag will be overwritten.

Public Members

GPArena<P, O> arena
atomic stop_requested
atomic thread_count
static const size_t kObjectsPerThread

Public Methods

int run (void * arg)

A thread_start_routine for use with Thread::Create.

Defined at line 343 of file ../../zircon/kernel/lib/fbl/gparena_tests.cc

int Run ()

Defined at line 344 of file ../../zircon/kernel/lib/fbl/gparena_tests.cc

ktl::atomic_ref<uint64_t> Tag (void * object)

Tags are accessed atomically, as multiple threads may access the same object if the arena is

broken.

Defined at line 379 of file ../../zircon/kernel/lib/fbl/gparena_tests.cc