diff mbox

[v2] nandtest: seed random generator with time

Message ID 1322847972-26504-1-git-send-email-computersforpeace@gmail.com
State Accepted
Commit 4e37713af46f289eac21ca24d2e7d50aed014237
Headers show

Commit Message

Brian Norris Dec. 2, 2011, 5:46 p.m. UTC
If a seed is not provided via --seed, we use the default rand() values,
which produces the same sequence of values every run. Since this is
undesirable, we should choose a random seed via the current time().

Note that this patch moves the srand() until after all the initial
options processing.

Cc: Jan Weitzel <j.weitzel@phytec.de>
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
---
rebased on top of Jan's patch

 nandtest.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

Comments

Artem Bityutskiy Dec. 5, 2011, 6:30 a.m. UTC | #1
On Fri, 2011-12-02 at 09:46 -0800, Brian Norris wrote:
> If a seed is not provided via --seed, we use the default rand() values,
> which produces the same sequence of values every run. Since this is
> undesirable, we should choose a random seed via the current time().
> 
> Note that this patch moves the srand() until after all the initial
> options processing.

Pushed, thanks!

Artem.
diff mbox

Patch

diff --git a/nandtest.c b/nandtest.c
index b3aacaf..0187b87 100644
--- a/nandtest.c
+++ b/nandtest.c
@@ -140,6 +140,8 @@  int main(int argc, char **argv)
 	uint32_t offset = 0;
 	uint32_t length = -1;
 
+	seed = time(NULL);
+
 	for (;;) {
 		static const char *short_options="hkl:mo:p:s:";
 		static const struct option long_options[] = {
@@ -173,7 +175,6 @@  int main(int argc, char **argv)
 
 		case 's':
 			seed = atol(optarg);
-			srand(seed);
 			break;
 
 		case 'p':
@@ -244,6 +245,8 @@  int main(int argc, char **argv)
 	printf("Bad blocks     : %d\n", oldstats.badblocks);
 	printf("BBT blocks     : %d\n", oldstats.bbtblocks);
 
+	srand(seed);
+
 	for (pass = 0; pass < nr_passes; pass++) {
 		loff_t test_ofs;