On Wed Nov 1 14:46:17 2023 +0000, Yuxuan Shui wrote:
the only place the TP objects are freed is in this function or in `work_item_Release`. we set the pointers to the TP objects to `NULL` here while holding the queue lock (which means no other threads can remove the item from `queue->pending_items`, which in turn means the work item will have at least 1 reference), so `work_item_Release` won't release it. therefore we can safely release it here. i haven't tried to demonstrate this issue but it's clearly there
Is it possible to have some demo program that demonstrates this?