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

1992/0414/port/devip.c (diff list | history)

1992/0406/sys/src/9/port/devip.c:654,6711992/0414/sys/src/9/port/devip.c:654,670 (short | long | prev | next)
1992/0313    
	if(s->ilctl.state != Illistening) 
		error(Enolisten); 
 
1991/0424    
	qlock(&s->listenq); 
1991/1025    
	if(waserror()) { 
		qunlock(&s->listenq); 
		nexterror(); 
	} 
1991/1030    
                 
1991/0424    
	for(;;) { 
1992/0414    
		qlock(&s->listenq);	/* single thread for the sleep */ 
		if(waserror()) { 
			qunlock(&s->listenq); 
			nexterror(); 
		} 
1991/1023    
		sleep(&s->listenr, iphavecon, s); 
1991/1025    
		poperror(); 
1991/1023    
		new = base; 
 		for(etab = &base[conf.ip]; new < etab; new++) { 
			if(new->newcon) { 
1992/0414    
			if(new->newcon == s) { 
1992/0306    
				qlock(s); 
1991/0424    
				s->curlog--; 
1992/0306    
				qunlock(s); 
1992/0406/sys/src/9/port/devip.c:674,6791992/0414/sys/src/9/port/devip.c:673,679
1991/1114    
				return new - base; 
1991/0424    
			} 
		} 
1992/0414    
		qunlock(&s->listenq); 
1992/0307    
		print("iplisten: no newcon\n"); 
1991/0424    
	} 
} 


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