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

1992/0603/port/stream.c (diff list | history)

1992/0529/sys/src/9/port/stream.c:171,1841992/0603/sys/src/9/port/stream.c:171,176 (short | long | prev | next)
1990/1127    
/* 
1990/0227    
 *  allocate a block 
 */ 
static int 
isblock(void *arg) 
{ 
	Bclass *bcp; 
                 
	bcp = (Bclass *)arg; 
	return bcp->first!=0; 
} 
Block * 
allocb(ulong size) 
{ 
1992/0529/sys/src/9/port/stream.c:217,2261992/0603/sys/src/9/port/stream.c:209,214
1990/0227    
	bp->next = 0; 
1991/1122    
	bp->list = 0; 
1990/0227    
	bp->type = M_DATA; 
	bp->flags &= S_CLASS; 
1991/0328    
	if(bp->lim-bp->rptr<size && size<4096) 
		panic("allocb %lux %lux %d %ux %d", bp->lim, bp->rptr, 
			size, bp->flags, bcp-bclass); 
1990/0227    
	return bp; 
} 
 
1992/0529/sys/src/9/port/stream.c:237,2471992/0603/sys/src/9/port/stream.c:225,236
1990/1229    
	int x; 
1992/0222    
	ulong pc; 
1990/0227    
 
1992/0603    
#ifdef asdf 
1992/0222    
	pc = getcallerpc(((uchar*)&bp) - sizeof(bp)); 
	if((bp->flags&S_CLASS) >= Nclass)		/* Check for double free */ 
		panic("freeb class last(%lux) this(%lux)", bp->pc, pc); 
	bp->pc = pc; 
1991/0420    
                 
1992/0603    
#endif asdf 
1991/0328    
	for(; bp; bp = nbp){ 
		bcp = &bclass[bp->flags & S_CLASS]; 
1991/0516    
		bp->flags = bp->flags|S_CLASS;		/* Check for double free */ 


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