cc3200/mpthreadport: Scan more root pointers from thread data.
This commit is contained in:
parent
17886828c8
commit
757146efe3
@ -66,16 +66,16 @@ void mp_thread_init(void) {
|
|||||||
|
|
||||||
void mp_thread_gc_others(void) {
|
void mp_thread_gc_others(void) {
|
||||||
mp_thread_mutex_lock(&thread_mutex, 1);
|
mp_thread_mutex_lock(&thread_mutex, 1);
|
||||||
gc_collect_root((void**)&thread, 1);
|
|
||||||
for (thread_t *th = thread; th != NULL; th = th->next) {
|
for (thread_t *th = thread; th != NULL; th = th->next) {
|
||||||
gc_collect_root(&th->arg, 1);
|
gc_collect_root((void**)&th, 1);
|
||||||
|
gc_collect_root(&th->arg, 1); // probably not needed
|
||||||
if (th->id == xTaskGetCurrentTaskHandle()) {
|
if (th->id == xTaskGetCurrentTaskHandle()) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (!th->ready) {
|
if (!th->ready) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
gc_collect_root(th->stack, th->stack_len);
|
gc_collect_root(th->stack, th->stack_len); // probably not needed
|
||||||
}
|
}
|
||||||
mp_thread_mutex_unlock(&thread_mutex);
|
mp_thread_mutex_unlock(&thread_mutex);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user