mirror of https://github.com/ethereum/go-ethereum
Merge pull request #2326 from karalabe/goleveldb-datarace-fix
Godeps: pull in the leveldb upstream write race fixpull/2282/head
commit
c3a4874e5e
@ -1,21 +0,0 @@ |
||||
// Copyright (c) 2014, Suryandaru Triandana <syndtr@gmail.com>
|
||||
// All rights reserved.
|
||||
//
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
// +build go1.3
|
||||
|
||||
package util |
||||
|
||||
import ( |
||||
"sync" |
||||
) |
||||
|
||||
type Pool struct { |
||||
sync.Pool |
||||
} |
||||
|
||||
func NewPool(cap int) *Pool { |
||||
return &Pool{} |
||||
} |
@ -1,33 +0,0 @@ |
||||
// Copyright (c) 2014, Suryandaru Triandana <syndtr@gmail.com>
|
||||
// All rights reserved.
|
||||
//
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
// +build !go1.3
|
||||
|
||||
package util |
||||
|
||||
type Pool struct { |
||||
pool chan interface{} |
||||
} |
||||
|
||||
func (p *Pool) Get() interface{} { |
||||
select { |
||||
case x := <-p.pool: |
||||
return x |
||||
default: |
||||
return nil |
||||
} |
||||
} |
||||
|
||||
func (p *Pool) Put(x interface{}) { |
||||
select { |
||||
case p.pool <- x: |
||||
default: |
||||
} |
||||
} |
||||
|
||||
func NewPool(cap int) *Pool { |
||||
return &Pool{pool: make(chan interface{}, cap)} |
||||
} |
Loading…
Reference in new issue