Invoking parlay::type_allocator's alloc and free functions with a thread spawned by std::thread would result in segfaults. Our current workaround is to run the new task using pardo, but it makes the control flow more complicated.
Is there a way to allow non-parlay threads to interact with a type_allocator? Perhaps some function could allow a thread to directly free a pointer onto the the global free list (seems to be global_stack)? The documentation could also be updated since it took us some time to figure out what was causing the segfaults.
Invoking
parlay::type_allocator'sallocandfreefunctions with a thread spawned bystd::threadwould result in segfaults. Our current workaround is to run the new task usingpardo, but it makes the control flow more complicated.Is there a way to allow non-parlay threads to interact with a
type_allocator? Perhaps some function could allow a thread to directly free a pointer onto the the global free list (seems to beglobal_stack)? The documentation could also be updated since it took us some time to figure out what was causing the segfaults.