[packages] quagga: Fix thread_cancel_event()
git-svn-id: svn://svn.openwrt.org/openwrt/packages@32699 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
4fb0f4b557
commit
105cdac237
29
net/quagga/patches/008-fix-thread_cancel_event.patch
Normal file
29
net/quagga/patches/008-fix-thread_cancel_event.patch
Normal file
@ -0,0 +1,29 @@
|
||||
Index: quagga-0.99.21/lib/thread.c
|
||||
===================================================================
|
||||
--- quagga-0.99.21.orig/lib/thread.c
|
||||
+++ quagga-0.99.21/lib/thread.c
|
||||
@@ -916,6 +916,24 @@ thread_cancel_event (struct thread_maste
|
||||
thread_add_unuse (m, t);
|
||||
}
|
||||
}
|
||||
+
|
||||
+ /* thread can be on the ready list too */
|
||||
+ thread = m->ready.head;
|
||||
+ while (thread)
|
||||
+ {
|
||||
+ struct thread *t;
|
||||
+
|
||||
+ t = thread;
|
||||
+ thread = t->next;
|
||||
+
|
||||
+ if (t->arg == arg)
|
||||
+ {
|
||||
+ ret++;
|
||||
+ thread_list_delete (&m->ready, t);
|
||||
+ t->type = THREAD_UNUSED;
|
||||
+ thread_add_unuse (m, t);
|
||||
+ }
|
||||
+ }
|
||||
return ret;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user