Richard W.M. Jones
2017-Jan-26 15:51 UTC
[Libguestfs] [PATCH] Use srandom (time (NULL) + getpid ()) throughout.
It avoids two programs which start at exactly the same time from
having the same random number seed, which helps in some tests.
---
edit/edit.c | 3 ++-
fish/fish.c | 2 +-
tests/mount-local/test-parallel-mount-local.c | 2 +-
3 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/edit/edit.c b/edit/edit.c
index 2f986a3..1e2641c 100644
--- a/edit/edit.c
+++ b/edit/edit.c
@@ -29,6 +29,7 @@
#include <error.h>
#include <assert.h>
#include <libintl.h>
+#include <sys/types.h>
#include <sys/time.h>
#include <sys/stat.h>
#include <utime.h>
@@ -103,7 +104,7 @@ main (int argc, char *argv[])
textdomain (PACKAGE);
/* We use random(3) below. */
- srandom (time (NULL));
+ srandom (time (NULL) + getpid ());
enum { HELP_OPTION = CHAR_MAX + 1 };
diff --git a/fish/fish.c b/fish/fish.c
index b7d63cf..52a9093 100644
--- a/fish/fish.c
+++ b/fish/fish.c
@@ -181,7 +181,7 @@ main (int argc, char *argv[])
textdomain (PACKAGE);
/* We use random(3) in edit.c. */
- srandom (time (NULL));
+ srandom (time (NULL) + getpid ());
parse_config ();
diff --git a/tests/mount-local/test-parallel-mount-local.c
b/tests/mount-local/test-parallel-mount-local.c
index 3e5d95c..542f1ed 100644
--- a/tests/mount-local/test-parallel-mount-local.c
+++ b/tests/mount-local/test-parallel-mount-local.c
@@ -85,7 +85,7 @@ main (int argc, char *argv[])
int r, errors = 0;
void *status;
- srandom (time (NULL));
+ srandom (time (NULL) + getpid ());
/* If the --test flag is given, then this is the test subprocess. */
if (argc == 3 && STREQ (argv[1], "--test")) {
--
2.9.3
Richard W.M. Jones
2017-Jan-26 19:30 UTC
Re: [Libguestfs] [PATCH] Use srandom (time (NULL) + getpid ()) throughout.
On Thu, Jan 26, 2017 at 03:51:20PM +0000, Richard W.M. Jones wrote:> It avoids two programs which start at exactly the same time from > having the same random number seed, which helps in some tests.Ignore this patch, better one to come. Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com virt-builder quickly builds VMs from scratch http://libguestfs.org/virt-builder.1.html
Maybe Matching Threads
- [PATCH v2 0/2] Fix srandom issues.
- [PATCH v2] virtio-rng: return available data with O_NONBLOCK
- [problem in `xl_cmdimpl.c`] Why pid return by fork() in parent process is not the same with pid returned by getpid()?
- [PATCH v2] virtio-rng: return available data with O_NONBLOCK
- [PATCH v3] virtio-rng: return available data with O_NONBLOCK