Official Go implementation of the Ethereum protocol
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Felix Lange
56ed6152a1
core, eth, miner: improve shutdown synchronisation
...
Shutting down geth prints hundreds of annoying error messages in some
cases. The errors appear because the Stop method of eth.ProtocolManager,
miner.Miner and core.TxPool is asynchronous. Left over peer sessions
generate events which are processed after Stop even though the database
has already been closed.
The fix is to make Stop synchronous using sync.WaitGroup.
For eth.ProtocolManager, in order to make use of WaitGroup safe, we need
a way to stop new peer sessions from being added while waiting on the
WaitGroup. The eth protocol Run function now selects on a signaling
channel and adds to the WaitGroup only if ProtocolManager is not
shutting down.
For miner.worker and core.TxPool the number of goroutines is static,
WaitGroup can be used in the usual way without additional
synchronisation.
9 years ago
..
state
all: fix go vet warnings
9 years ago
types
core, core/types, eth: add and use Block.Body
9 years ago
vm
all: fix go vet warnings
9 years ago
.gitignore
Renamed `chain` => `core`
10 years ago
asm.go
all: fix go vet warnings
9 years ago
bad_block.go
all: fix license headers one more time
9 years ago
bench_test.go
core: added basic chain configuration
9 years ago
block_validator.go
all: update license information
9 years ago
block_validator_test.go
accounts/a/b/backends, core: chain maker homestead block set to 0
9 years ago
blockchain.go
core: Provide a public accessor for ChainConfig
9 years ago
blockchain_test.go
accounts/a/b/backends, core: chain maker homestead block set to 0
9 years ago
blocks.go
remove 0x
9 years ago
chain_makers.go
accounts/a/b/backends, core: chain maker homestead block set to 0
9 years ago
chain_makers_test.go
accounts/a/b/backends, core: chain maker homestead block set to 0
9 years ago
chain_pow.go
core: separate and contain POW verifier, extensive tests
9 years ago
chain_pow_test.go
core, eth: receipt chain reconstruction
9 years ago
config.go
core: added basic chain configuration
9 years ago
database_util.go
core, core/types, eth: add and use Block.Body
9 years ago
database_util_test.go
core, core/types, eth: add and use Block.Body
9 years ago
default_genesis.go
all: update license information
9 years ago
error.go
Merge pull request #1889 from karalabe/fast-sync-rebase
9 years ago
events.go
core, miner: add PendingStateEvent to track non-log updates
9 years ago
execution.go
core: added basic chain configuration
9 years ago
fees.go
Merge pull request #1515 from fjl/license-fixes
9 years ago
filter_test.go
all: fix license headers one more time
9 years ago
gaspool.go
all: update license information
9 years ago
genesis.go
core, eth: added json tag field for proper unmarshalling
9 years ago
headerchain.go
all: update license information
9 years ago
helper_test.go
cmd/geth, cmd/utils, core, rpc: renamed to blockchain
9 years ago
state_processor.go
all: update license information
9 years ago
state_transition.go
core: transition db now also returns the required gas amount
9 years ago
tx_pool.go
core, eth, miner: improve shutdown synchronisation
9 years ago
tx_pool_test.go
core: added basic chain configuration
9 years ago
types.go
all: update license information
9 years ago
vm_env.go
core: added basic chain configuration
9 years ago