Rev 1579 | Rev 1585 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1579 | Rev 1581 | ||
---|---|---|---|
Line 233... | Line 233... | ||
233 | */ |
233 | */ |
234 | void thread_destroy(thread_t *t) |
234 | void thread_destroy(thread_t *t) |
235 | { |
235 | { |
236 | bool destroy_task = false; |
236 | bool destroy_task = false; |
237 | 237 | ||
238 | ASSERT(t->state == Exiting); |
238 | ASSERT(t->state == Exiting || t->state == Undead); |
239 | ASSERT(t->task); |
239 | ASSERT(t->task); |
240 | ASSERT(t->cpu); |
240 | ASSERT(t->cpu); |
241 | 241 | ||
242 | spinlock_lock(&t->cpu->lock); |
242 | spinlock_lock(&t->cpu->lock); |
243 | if(t->cpu->fpu_owner==t) |
243 | if(t->cpu->fpu_owner==t) |