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

1991/1120/port/tcpif.c (diff list | history)

1991/1014/sys/src/9/port/tcpif.c:15,241991/1120/sys/src/9/port/tcpif.c:15,21 (short | long | prev | next)
1991/0424    
{ 
	Block *bp; 
	int len; 
	char *ptr = 0; 
 
	SET(len); 
                 
	DPRINT("state_upcall: %s -> %s err %d\n",  
	      tcpstate[oldstate], tcpstate[newstate], s->err); 
 
1991/1014/sys/src/9/port/tcpif.c:33,551991/1120/sys/src/9/port/tcpif.c:30,49
1991/0424    
	case CLOSE_WAIT:		/* Remote closes */ 
		if(s->readq == 0) 
			break; 
1991/1120    
 
1991/0424    
		if(s->err) { 
			ptr = errstrtab[s->err]; 
			len = strlen(ptr)+1; 
1991/1120    
			len = strlen(errstrtab[s->err]); 
1991/0424    
			bp = allocb(len); 
1991/1120    
			strcpy((char *)bp->wptr, errstrtab[s->err]); 
			bp->wptr += len; 
1991/0424    
		} 
		else 
			bp = allocb(0); 
 
		if(bp) { 
			if(ptr) { 
				strcpy((char *)bp->wptr, ptr); 
				bp->wptr += len; 
			} 
			bp->flags |= S_DELIM; 
			bp->type = M_HANGUP; 
			PUTNEXT(s->readq, bp); 
		} 
1991/1120    
		bp->flags |= S_DELIM; 
		bp->type = M_HANGUP; 
		PUTNEXT(s->readq, bp); 
		break; 
1991/0424    
	} 
} 
 


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