diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/thread.c | 5 | 
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/thread.c b/lib/thread.c index c3613b5b0e..9eac9b410a 100644 --- a/lib/thread.c +++ b/lib/thread.c @@ -1354,9 +1354,9 @@ static void do_thread_cancel(struct thread_master *master)  	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 @@ -1379,6 +1379,9 @@ static void do_thread_cancel(struct thread_master *master)  		if (!thread)  			continue; +		list = NULL; +		thread_array = NULL; +  		/* Determine the appropriate queue to cancel the thread from */  		switch (thread->type) {  		case THREAD_READ:  | 
