A couple of pointers in do_thread_cancel() we only inited at
the start of the function; make sure they're inited during
each iteration of the loop.
Signed-off-by: Mark Stapp <mstapp@nvidia.com>
struct thread_list_head *list = NULL;
struct thread **thread_array = NULL;
struct thread *thread;
-
struct cancel_req *cr;
struct listnode *ln;
+
for (ALL_LIST_ELEMENTS_RO(master->cancel_req, ln, cr)) {
/*
* If this is an event object cancellation, search
if (!thread)
continue;
+ list = NULL;
+ thread_array = NULL;
+
/* Determine the appropriate queue to cancel the thread from */
switch (thread->type) {
case THREAD_READ: