Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
p2p
go-p2p-peerstore
Commits
9827ee08
Unverified
Commit
9827ee08
authored
Jun 05, 2020
by
vyzo
Committed by
GitHub
Jun 05, 2020
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #154 from jsign/jsign/fixraces
addrbook: fix races
parents
ce24bfc4
15428348
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
7 additions
and
2 deletions
+7
-2
pstoreds/addr_book.go
pstoreds/addr_book.go
+7
-2
No files found.
pstoreds/addr_book.go
View file @
9827ee08
...
@@ -3,11 +3,12 @@ package pstoreds
...
@@ -3,11 +3,12 @@ package pstoreds
import
(
import
(
"context"
"context"
"fmt"
"fmt"
"github.com/libp2p/go-libp2p-core/record"
"sort"
"sort"
"sync"
"sync"
"time"
"time"
"github.com/libp2p/go-libp2p-core/record"
ds
"github.com/ipfs/go-datastore"
ds
"github.com/ipfs/go-datastore"
"github.com/ipfs/go-datastore/query"
"github.com/ipfs/go-datastore/query"
logging
"github.com/ipfs/go-log"
logging
"github.com/ipfs/go-log"
...
@@ -17,7 +18,7 @@ import (
...
@@ -17,7 +18,7 @@ import (
pb
"github.com/libp2p/go-libp2p-peerstore/pb"
pb
"github.com/libp2p/go-libp2p-peerstore/pb"
"github.com/libp2p/go-libp2p-peerstore/pstoremem"
"github.com/libp2p/go-libp2p-peerstore/pstoremem"
"github.com/hashicorp/golang-lru"
lru
"github.com/hashicorp/golang-lru"
b32
"github.com/multiformats/go-base32"
b32
"github.com/multiformats/go-base32"
ma
"github.com/multiformats/go-multiaddr"
ma
"github.com/multiformats/go-multiaddr"
)
)
...
@@ -316,6 +317,8 @@ func (ab *dsAddrBook) storeSignedPeerRecord(p peer.ID, envelope *record.Envelope
...
@@ -316,6 +317,8 @@ func (ab *dsAddrBook) storeSignedPeerRecord(p peer.ID, envelope *record.Envelope
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
err
}
}
pr
.
Lock
()
defer
pr
.
Unlock
()
pr
.
CertifiedRecord
=
&
pb
.
AddrBookRecord_CertifiedRecord
{
pr
.
CertifiedRecord
=
&
pb
.
AddrBookRecord_CertifiedRecord
{
Seq
:
rec
.
Seq
,
Seq
:
rec
.
Seq
,
Raw
:
envelopeBytes
,
Raw
:
envelopeBytes
,
...
@@ -334,6 +337,8 @@ func (ab *dsAddrBook) GetPeerRecord(p peer.ID) *record.Envelope {
...
@@ -334,6 +337,8 @@ func (ab *dsAddrBook) GetPeerRecord(p peer.ID) *record.Envelope {
log
.
Errorf
(
"unable to load record for peer %s: %v"
,
p
.
Pretty
(),
err
)
log
.
Errorf
(
"unable to load record for peer %s: %v"
,
p
.
Pretty
(),
err
)
return
nil
return
nil
}
}
pr
.
RLock
()
defer
pr
.
RUnlock
()
if
pr
.
CertifiedRecord
==
nil
||
len
(
pr
.
CertifiedRecord
.
Raw
)
==
0
||
len
(
pr
.
Addrs
)
==
0
{
if
pr
.
CertifiedRecord
==
nil
||
len
(
pr
.
CertifiedRecord
.
Raw
)
==
0
||
len
(
pr
.
Addrs
)
==
0
{
return
nil
return
nil
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment