diff options
author | Daniel Friesel <derf@finalrewind.org> | 2018-03-10 10:03:39 +0100 |
---|---|---|
committer | Daniel Friesel <derf@finalrewind.org> | 2018-03-10 10:03:39 +0100 |
commit | f8640490308f29de951b7b59f07be8b744f6e895 (patch) | |
tree | b4c2af1c051f698b7c3ce50c2dfc96547c3e76b3 | |
parent | e522c4ea04e9d899907deb5d0304f7de0823e9da (diff) |
Only set random seed once
Fixes non-random behaviour when randomizing file lists several times per
second.
Closes #349
-rw-r--r-- | src/gib_list.c | 1 | ||||
-rw-r--r-- | src/imlib.c | 3 | ||||
-rw-r--r-- | src/main.c | 2 |
3 files changed, 2 insertions, 4 deletions
diff --git a/src/gib_list.c b/src/gib_list.c index 281f528..5384d98 100644 --- a/src/gib_list.c +++ b/src/gib_list.c @@ -360,7 +360,6 @@ gib_list_randomize(gib_list * list) { farray[i] = f; } - srand(getpid() * time(NULL) % ((unsigned int) -1)); for (i = 0; i < len - 1; i++) { r = i + rand() / (RAND_MAX / (len - i) + 1 ); diff --git a/src/imlib.c b/src/imlib.c index d9c5cd0..baaa64a 100644 --- a/src/imlib.c +++ b/src/imlib.c @@ -133,9 +133,6 @@ void init_x_and_imlib(void) imlib_set_cache_size(opt.cache_size * 1024 * 1024); - /* Initialise random numbers */ - srand(getpid() * time(NULL) % ((unsigned int) -1)); - return; } @@ -42,6 +42,8 @@ int main(int argc, char **argv) { atexit(feh_clean_exit); + srand(getpid() * time(NULL) % ((unsigned int) -1)); + setup_signal_handlers(); init_parse_options(argc, argv); |