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

1993/0908/port/qio.c (diff list | history)

1993/0819/sys/src/9/port/qio.c:70,751993/0908/sys/src/9/port/qio.c:70,76 (short | long | prev | next)
1993/0530    
	int	len;		/* bytes in queue */ 
	int	limit;		/* max bytes in queue */ 
	int	state; 
1993/0908    
	int	eof;		/* number of eofs read by user */ 
1993/0530    
 
	void	(*kick)(void*);	/* restart output */ 
	void	*arg;		/* argument to kick */ 
1993/0819/sys/src/9/port/qio.c:409,4141993/0908/sys/src/9/port/qio.c:410,416
1993/0526    
	q->arg = arg; 
1993/0530    
	q->state = msg ? Qmsg : 0; 
1993/0601    
	q->state |= Qstarve; 
1993/0908    
	q->eof = 0; 
1993/0526    
 
	return q; 
} 
1993/0819/sys/src/9/port/qio.c:451,4561993/0908/sys/src/9/port/qio.c:453,462
1993/0528    
		if(q->state & Qclosed){ 
1993/0527    
			unlock(q); 
			splx(x); 
1993/0908    
			poperror(); 
			qunlock(&q->rlock); 
			if(++q->eof > 3) 
				error(Ehungup); 
1993/0528    
			return 0; 
1993/0527    
		} 
 
1993/0819/sys/src/9/port/qio.c:632,6371993/0908/sys/src/9/port/qio.c:638,644
1993/0528    
{ 
	q->state &= ~Qclosed; 
1993/0601    
	q->state |= Qstarve; 
1993/0908    
	q->eof = 0; 
1993/0530    
} 
 
/* 


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