rem: if (rc == B_BAD_SEM_ID)
add: if (rc == B_BAD_SEM_ID) {
context: int thread_wait_on_thread(thread_id id, int *retcode){	sem_id sem;	int state;	struct thread *t;	int rc;	state = int_disable_interrupts();	GRAB_THREAD_LOCK();	t = thread_get_thread_struct_locked(id);	if(t != NULL) {		sem = t->return_code_sem;	} else {		sem = ERR_INVALID_HANDLE;	}	RELEASE_THREAD_LOCK();	int_restore_interrupts(state);	rc = acquire_sem(sem);	/* This thread died the way it should, dont ripple a non-error up */	if (rc == B_BAD_SEM_ID)		rc = B_NO_ERROR;	return rc;}