From f1c76455080d0585401f9bc09a48b09c9500e55e Mon Sep 17 00:00:00 2001 From: David du Colombier <0intro@gmail.com> Date: Thu, 31 Oct 1996 00:00:00 +0000 Subject: [PATCH] Plan 9 from Bell Labs 1996-10-31 --- port/devcons.c | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/port/devcons.c b/port/devcons.c index de342cadf335d8a52f9b89644309f80c27e31dd9..c88c9447343ab6ab98cc74644a19aef4186dba1f 100644 --- a/port/devcons.c +++ b/port/devcons.c @@ -28,8 +28,9 @@ static struct char sysname[NAMELEN]; -static ulong randomread(uchar*, ulong); -static void randominit(void); +static ulong randomread(uchar*, ulong); +static void randominit(void); +static void seednrand(void); void printinit(void) @@ -450,6 +451,12 @@ consinit(void) Chan* consattach(char *spec) { + static int seeded; + + if(!seeded){ + seednrand(); + seeded = 1; + } return devattach('c', spec); } @@ -931,10 +938,15 @@ static struct ulong randn; } rb; +static void +seednrand(void) +{ + randomread((uchar*)&rb.randn, sizeof(rb.randn)); +} + int nrand(int n) { - rb.randn ^= rb.bits; rb.randn = rb.randn*1103515245 + 12345 + MACHP(0)->ticks; return (rb.randn>>16) % n; }