rem: int state;
add: cpu_status state;
context: _get_thread_info(thread_id id, thread_info *info, size_t size){	int state;	status_t rc = B_OK;	struct thread *t;	state = disable_interrupts();	GRAB_THREAD_LOCK();	t = thread_get_thread_struct_locked(id);	if (!t) {		rc = B_BAD_VALUE;		goto err;	}	info->thread = t->id;	info->team = t->team->id;	strncpy(info->name, t->name, B_OS_NAME_LENGTH);	info->name[B_OS_NAME_LENGTH - 1] = '\0';	if (t->state == B_THREAD_WAITING) {		if (t->sem_blocking == snooze_sem)			info->state = B_THREAD_ASLEEP;		else if (t->sem_blocking == t->msg.read_sem)			info->state = B_THREAD_RECEIVING;		else			info->state = B_THREAD_WAITING;	} else		info->state = t->state;	info->priority = t->priority;	info->sem = t->sem_blocking;	info->user_time = t->user_time;	info->kernel_time = t->kernel_time;	info->stack_base = (void *)t->user_stack_base;	info->stack_end = (void *)(t->user_stack_base + STACK_SIZE);err:	RELEASE_THREAD_LOCK();	restore_interrupts(state);	return rc;}