提交 47701aaa 作者: Brian Tiger Chow

Merge pull request #566 from jbenet/races

race fixes
...@@ -137,8 +137,8 @@ type dagservAndPinner struct { ...@@ -137,8 +137,8 @@ type dagservAndPinner struct {
} }
func getDagservAndPinner(t *testing.T) dagservAndPinner { func getDagservAndPinner(t *testing.T) dagservAndPinner {
db := ds.NewMapDatastore() db := dssync.MutexWrap(ds.NewMapDatastore())
bs := bstore.NewBlockstore(dssync.MutexWrap(db)) bs := bstore.NewBlockstore(db)
blockserv, err := bserv.New(bs, offline.Exchange(bs)) blockserv, err := bserv.New(bs, offline.Exchange(bs))
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
......
...@@ -28,8 +28,8 @@ type dagservAndPinner struct { ...@@ -28,8 +28,8 @@ type dagservAndPinner struct {
} }
func getDagservAndPinner(t *testing.T) dagservAndPinner { func getDagservAndPinner(t *testing.T) dagservAndPinner {
db := ds.NewMapDatastore() db := dssync.MutexWrap(ds.NewMapDatastore())
bs := bstore.NewBlockstore(dssync.MutexWrap(db)) bs := bstore.NewBlockstore(db)
blockserv, err := bserv.New(bs, offline.Exchange(bs)) blockserv, err := bserv.New(bs, offline.Exchange(bs))
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
......
...@@ -53,11 +53,11 @@ type pinner struct { ...@@ -53,11 +53,11 @@ type pinner struct {
directPin set.BlockSet directPin set.BlockSet
indirPin *indirectPin indirPin *indirectPin
dserv mdag.DAGService dserv mdag.DAGService
dstore ds.Datastore dstore ds.ThreadSafeDatastore
} }
// NewPinner creates a new pinner using the given datastore as a backend // NewPinner creates a new pinner using the given datastore as a backend
func NewPinner(dstore ds.Datastore, serv mdag.DAGService) Pinner { func NewPinner(dstore ds.ThreadSafeDatastore, serv mdag.DAGService) Pinner {
// Load set from given datastore... // Load set from given datastore...
rcds := nsds.Wrap(dstore, recursePinDatastoreKey) rcds := nsds.Wrap(dstore, recursePinDatastoreKey)
...@@ -176,7 +176,7 @@ func (p *pinner) IsPinned(key util.Key) bool { ...@@ -176,7 +176,7 @@ func (p *pinner) IsPinned(key util.Key) bool {
} }
// LoadPinner loads a pinner and its keysets from the given datastore // LoadPinner loads a pinner and its keysets from the given datastore
func LoadPinner(d ds.Datastore, dserv mdag.DAGService) (Pinner, error) { func LoadPinner(d ds.ThreadSafeDatastore, dserv mdag.DAGService) (Pinner, error) {
p := new(pinner) p := new(pinner)
{ // load recursive set { // load recursive set
......
...@@ -21,8 +21,8 @@ func randNode() (*mdag.Node, util.Key) { ...@@ -21,8 +21,8 @@ func randNode() (*mdag.Node, util.Key) {
} }
func TestPinnerBasic(t *testing.T) { func TestPinnerBasic(t *testing.T) {
dstore := ds.NewMapDatastore() dstore := dssync.MutexWrap(ds.NewMapDatastore())
bstore := blockstore.NewBlockstore(dssync.MutexWrap(dstore)) bstore := blockstore.NewBlockstore(dstore)
bserv, err := bs.New(bstore, offline.Exchange(bstore)) bserv, err := bs.New(bstore, offline.Exchange(bstore))
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论