From 4eedeaa4dbe8de024d50f1ddfd8a2ddaf2609fb4 Mon Sep 17 00:00:00 2001 From: Dan Ballard Date: Fri, 8 May 2020 16:31:01 -0700 Subject: [PATCH] add locks to acoid possible race condition using command port --- tor/torProvider.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tor/torProvider.go b/tor/torProvider.go index ead21ca..82a45bb 100644 --- a/tor/torProvider.go +++ b/tor/torProvider.go @@ -87,7 +87,9 @@ func (tp *torProvider) GetBootstrapStatus() (int, string) { return -1, "Network Down" } + tp.lock.Lock() kvs, err := tp.t.Control.GetInfo("status/bootstrap-phase") + tp.lock.Unlock() if err != nil { return -2, "error querrying status/bootstrap-phase" } @@ -122,6 +124,8 @@ func (tp *torProvider) WaitTillBootstrapped() { // getNetworkStatus returns tor's beleif in the underlying network's status func (tp *torProvider) getNetworkStatus() int { + tp.lock.Lock() + defer tp.lock.Unlock() if tp.t == nil { return networkDown }