add: p->death_sem = -1;
context: static struct proc *create_proc_struct(const char *name, bool kernel){	struct proc *p;	p = (struct proc *)kmalloc(sizeof(struct proc));	if(p == NULL)		goto error;	p->id = atomic_add(&next_proc_id, 1);	strncpy(&p->name[0], name, SYS_MAX_OS_NAME_LEN-1);	p->name[SYS_MAX_OS_NAME_LEN-1] = 0;	p->num_threads = 0;	p->ioctx = NULL;	p->path[0] = 0;	p->_aspace_id = -1;	p->aspace = NULL;	p->kaspace = vm_get_kernel_aspace();	vm_put_aspace(p->kaspace);	p->thread_list = NULL;	p->main_thread = NULL;	p->state = PROC_STATE_BIRTH;	p->pending_signals = SIG_NONE;	p->user_env_base = NULL;	if(arch_proc_init_proc_struct(p, kernel) < 0)		goto error1;	return p;error1:	kfree(p);error:	return NULL;}