From 7a2b5a29aaaacf238e69f42c673522ad467fd989 Mon Sep 17 00:00:00 2001 From: Daniel Date: Fri, 17 Apr 2020 21:50:24 +0200 Subject: [PATCH 1/2] Fix deadlock --- rng/entropy.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rng/entropy.go b/rng/entropy.go index ba32489..4d5f572 100644 --- a/rng/entropy.go +++ b/rng/entropy.go @@ -85,9 +85,9 @@ func (f *Feeder) SupplyEntropyAsIntIfNeeded(n int64, entropy int) { } } -// CloseFeeder stops the feed processing - the responsible goroutine exits. +// CloseFeeder stops the feed processing - the responsible goroutine exits. The input channel is closed and the feeder may not be used anymore in any way. func (f *Feeder) CloseFeeder() { - f.input <- nil + close(f.input) } func (f *Feeder) run(ctx context.Context) error { From efe7333c89ee85f80bde19d47ccbe2626bdf6200 Mon Sep 17 00:00:00 2001 From: Daniel Date: Fri, 17 Apr 2020 21:50:34 +0200 Subject: [PATCH 2/2] Rename module to rng --- rng/rng.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rng/rng.go b/rng/rng.go index f0a666a..ecab9ea 100644 --- a/rng/rng.go +++ b/rng/rng.go @@ -25,7 +25,7 @@ var ( ) func init() { - module = modules.Register("random", nil, start, nil) + module = modules.Register("rng", nil, start, nil) } func newCipher(key []byte) (cipher.Block, error) {