Rev 2804 | Rev 2817 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2804 | Rev 2808 | ||
---|---|---|---|
Line 410... | Line 410... | ||
410 | */ |
410 | */ |
411 | ipl = interrupts_disable(); |
411 | ipl = interrupts_disable(); |
412 | spinlock_lock(&task->lock); |
412 | spinlock_lock(&task->lock); |
413 | atomic_inc(&task->refcount); |
413 | atomic_inc(&task->refcount); |
414 | atomic_inc(&task->lifecount); |
414 | atomic_inc(&task->lifecount); |
- | 415 | ||
- | 416 | /* FIXME: this must be done very carefully.. an unstoppable |
|
- | 417 | thread cannot appear just-so, it must be possible to catch it. */ |
|
- | 418 | if (t->flags & THREAD_FLAG_USPACE) |
|
415 | ++task->not_stoppable_count; |
419 | ++task->not_stoppable_count; |
416 | list_append(&t->th_link, &task->th_head); |
420 | list_append(&t->th_link, &task->th_head); |
417 | spinlock_unlock(&task->lock); |
421 | spinlock_unlock(&task->lock); |
418 | 422 | ||
419 | /* |
423 | /* |
420 | * Register this thread in the system-wide list. |
424 | * Register this thread in the system-wide list. |