plan 9 kernel history: overview | file list | diff list

1991/1005/port/proc.c (diff list | history)

1991/1003/sys/src/9/port/proc.c:534,5591991/1005/sys/src/9/port/proc.c:534,560 (short | long | prev | next)
Only prepare wait messages for non-kprocs.
rsc Mon Mar 20 17:30:32 2006
1991/0926    
	else 
		wq->w.msg[0] = '\0'; 
1990/0227    
 
1991/0926    
	/* Find my parent */ 
1990/03081    
	p = c->parent; 
1991/0926    
                 
	lock(&p->exl); 
	/* My parent still alive */ 
	if(p->pid == c->parentpid && p->state != Broken && p->nwait < 128) {	 
		p->nchild--; 
		p->time[TCUser] += c->time[TUser] + c->time[TCUser]; 
		p->time[TCSys] += c->time[TSys] + c->time[TCSys]; 
                 
		wq->next = p->waitq; 
		p->waitq = wq; 
		p->nwait++; 
		unlock(&p->exl); 
                 
		wakeup(&p->waitr); 
1990/0227    
	} 
1991/0926    
	else { 
		unlock(&p->exl); 
		freewaitq(wq); 
1991/1005    
	if(c->kp == 0) { 
		/* Find my parent */ 
		p = c->parent; 
		lock(&p->exl); 
		/* My parent still alive */ 
		if(p->pid == c->parentpid && p->state != Broken && p->nwait < 128) {	 
			p->nchild--; 
			p->time[TCUser] += c->time[TUser] + c->time[TCUser]; 
			p->time[TCSys] += c->time[TSys] + c->time[TCSys]; 
	 
			wq->next = p->waitq; 
			p->waitq = wq; 
			p->nwait++; 
			unlock(&p->exl); 
	 
			wakeup(&p->waitr); 
		} 
		else { 
			unlock(&p->exl); 
			freewaitq(wq); 
		} 
1990/0227    
	} 
1990/03081    
 
1991/0926    
	if(!freemem) 


source code copyright © 1990-2005 Lucent Technologies; see license
Plan 9 distribution
comments to russ cox (rsc@swtch.com)