changeset 730:793e5b2b28f2

Makes random number generation more efficient by only seeding the generator once
author Ben Schmidt
date Sat, 31 Jul 2010 00:25:36 +1000
parents d78eb18576b0
children e29893b9f581
files ChangeLog src/random-int.c
diffstat 2 files changed, 6 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Sat Jul 31 00:04:45 2010 +1000
+++ b/ChangeLog	Sat Jul 31 00:25:36 2010 +1000
@@ -1,3 +1,5 @@
+ o Make random number generation more efficient by only seeding the
+   generator once
  o Added feature to notify users when their posts are moderated
  o Fixed documentation regarding silent subscription, and added
    ability to silently subscribe
--- a/src/random-int.c	Sat Jul 31 00:04:45 2010 +1000
+++ b/src/random-int.c	Sat Jul 31 00:25:36 2010 +1000
@@ -30,10 +30,13 @@
 
 int random_int()
 {
+	static int init = 0;
 	unsigned int seed;
 	int devrandom;
 	unsigned char ch;
 
+	if (init) return rand();
+
 	seed = (unsigned int)time(NULL);
 
 	devrandom = open("/dev/urandom", O_RDONLY);
@@ -53,6 +56,7 @@
 	}
 
 	srand(seed);
+	init = 1;
 
 	return rand();
 }