Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
G
Geth-Modification
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
张蕾
Geth-Modification
Commits
90784899
Commit
90784899
authored
May 21, 2015
by
obscuren
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
miner: one-shot update loop
parent
207bd557
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
6 additions
and
0 deletions
+6
-0
miner.go
miner/miner.go
+6
-0
No files found.
miner/miner.go
View file @
90784899
...
@@ -39,6 +39,10 @@ func New(eth core.Backend, mux *event.TypeMux, pow pow.PoW) *Miner {
...
@@ -39,6 +39,10 @@ func New(eth core.Backend, mux *event.TypeMux, pow pow.PoW) *Miner {
return
miner
return
miner
}
}
// update keeps track of the downloader events. Please be aware that this is a one shot type of update loop.
// It's entered once and as soon as `Done` or `Failed` has been broadcasted the events are unregistered and
// the loop is exited. This to prevent a major security vuln where external parties can DOS you with blocks
// and halt your mining operation for as long as the DOS continues.
func
(
self
*
Miner
)
update
()
{
func
(
self
*
Miner
)
update
()
{
events
:=
self
.
mux
.
Subscribe
(
downloader
.
StartEvent
{},
downloader
.
DoneEvent
{},
downloader
.
FailedEvent
{})
events
:=
self
.
mux
.
Subscribe
(
downloader
.
StartEvent
{},
downloader
.
DoneEvent
{},
downloader
.
FailedEvent
{})
for
ev
:=
range
events
.
Chan
()
{
for
ev
:=
range
events
.
Chan
()
{
...
@@ -59,6 +63,8 @@ func (self *Miner) update() {
...
@@ -59,6 +63,8 @@ func (self *Miner) update() {
self
.
Start
(
self
.
coinbase
,
self
.
threads
)
self
.
Start
(
self
.
coinbase
,
self
.
threads
)
}
}
}
}
// unsubscribe. we're only interested in this event once
events
.
Unsubscribe
()
}
}
}
}
...
...
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