summary refs log tree commit diff
path: root/pkgs/development/libraries/libgcrypt/fix-jent-locking.patch
blob: 5394e51468e651d946b843f599f55124b051b437 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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