forked from mirrors/nixpkgs
7cfdb8950d
Not around a function that itself will grab the rng lock. Unfortunate that we obtain/release the lock twice but this seems least invasive way to fix this.
30 lines
893 B
Diff
30 lines
893 B
Diff
From bbe989be6ca5e093d5244413590bd80e12c2ec9b Mon Sep 17 00:00:00 2001
|
|
From: Will Dietz <w@wdtz.org>
|
|
Date: Sun, 17 Jun 2018 18:53:58 -0500
|
|
Subject: [PATCH] rndjent: move locking to fix trying to obtain held lock,
|
|
hanging
|
|
|
|
---
|
|
random/rndjent.c | 3 ++-
|
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/random/rndjent.c b/random/rndjent.c
|
|
index 0c5a820b..3740ddd4 100644
|
|
--- a/random/rndjent.c
|
|
+++ b/random/rndjent.c
|
|
@@ -334,9 +334,10 @@ _gcry_rndjent_get_version (int *r_active)
|
|
{
|
|
if (r_active)
|
|
{
|
|
- lock_rng ();
|
|
/* Make sure the RNG is initialized. */
|
|
_gcry_rndjent_poll (NULL, 0, 0);
|
|
+
|
|
+ lock_rng ();
|
|
/* To ease debugging we store 2 for a clock_gettime based
|
|
* implementation and 1 for a rdtsc based code. */
|
|
*r_active = jent_rng_collector? is_rng_available () : 0;
|
|
--
|
|
2.18.0-rc2
|
|
|