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

1990/1210/port/sturp.c (diff list | history)

1990/1206/sys/src/9/port/sturp.c:206,2121990/1210/sys/src/9/port/sturp.c:206,215 (short | long | prev | next)
Created.
rsc Fri Mar 4 12:44:25 2005
1990/0509    
	 *  if 2 minutes elapse, give it up 
1990/0227    
	 */ 
1990/0312    
	up->state |= CLOSING; 
1990/0509    
	tsleep(&up->r, isflushed, up, 2*60*1000); 
1990/1210    
	if(!waserror()){ 
		tsleep(&up->r, isflushed, up, 2*60*1000); 
		poperror(); 
	} 
1990/0312    
	up->state |= HUNGUP; 
1990/0509    
 
	qlock(&up->xmit); 
1990/1206/sys/src/9/port/sturp.c:944,9581990/1210/sys/src/9/port/sturp.c:947,969
1990/0312    
	for(;;){ 
1990/1206    
		for(up = urp; up < eup; up++){ 
			if(up->state==0 || (up->state&HUNGUP)) 
				break; 
1990/1210    
				continue; 
1990/1206    
			if(!canqlock(up)) 
				continue; 
			if(up->state==0 || (up->state&HUNGUP)) 
				break; 
1990/1210    
			if(waserror()){ 
				qunlock(up); 
				continue; 
			} 
			if(up->state==0 || (up->state&HUNGUP)){ 
				qunlock(up); 
				poperror(); 
				continue; 
			} 
1990/1206    
			if(up->iseq!=(up->lastecho&7) && !QFULL(up->rq->next)) 
				sendack(up); 
			output(up); 
			qunlock(up); 
1990/1210    
			poperror(); 
1990/1004    
		} 
1990/1206    
		tsleep(&urpkr, return0, 0, 1000); 
1990/0725    
	} 


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