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

1997/0614/port/devcons.c (diff list | history)

1997/0614/sys/src/9/port/devcons.c:963,9681997/0616/sys/src/9/port/devcons.c:963,969 (short | long | prev | next)
1997/0327    
randomread(void *xp, ulong n) 
1995/0910    
{ 
1997/0327    
	uchar *e, *p; 
1997/0616    
	ulong x; 
1997/0327    
 
	p = xp; 
1995/0910    
 
1997/0614/sys/src/9/port/devcons.c:980,9871997/0616/sys/src/9/port/devcons.c:981,995
1995/0910    
			rb.wakeme = 0; 
			continue; 
		} 
1997/0614    
		rb.randn = rb.randn*1103515245 + 12345 + *rb.rp; 
		*p++ = rb.randn; 
1997/0616    
 
		/* 
		 *  beating clocks will be precictable if 
		 *  they are synchronized.  Use a cheap pseudo 
		 *  random number generator to obscure any cycles. 
		 */ 
		x = rb.randn*1103515245 ^ *rb.rp; 
		*p++ = rb.randn = x; 
 
1995/1023    
		if(rb.rp+1 == rb.ep) 
			rb.rp = rb.buf; 
		else 


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