aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeffrey Wilcke <obscuren@users.noreply.github.com>2014-10-30 04:09:32 +0800
committerJeffrey Wilcke <obscuren@users.noreply.github.com>2014-10-30 04:09:32 +0800
commitce2ec1980bbc97fb9b2acc27c6249be1249fa44c (patch)
tree975a2a75b04f0c7c3cc2004e020c66c9a10a57d0
parentf05d422a97bfdfbf141a455d25566779c4b32da9 (diff)
parente252dbf989f8a8e08e3edcaf075febee315e53fd (diff)
downloadgo-tangerine-ce2ec1980bbc97fb9b2acc27c6249be1249fa44c.tar.gz
go-tangerine-ce2ec1980bbc97fb9b2acc27c6249be1249fa44c.tar.zst
go-tangerine-ce2ec1980bbc97fb9b2acc27c6249be1249fa44c.zip
Merge pull request #166 from fjl/fix/mist-quit
Fix Mist Shutdown
-rw-r--r--ethereum.go4
-rw-r--r--javascript/javascript_runtime.go8
2 files changed, 4 insertions, 8 deletions
diff --git a/ethereum.go b/ethereum.go
index c2d209597..a389c663d 100644
--- a/ethereum.go
+++ b/ethereum.go
@@ -490,6 +490,9 @@ func (s *Ethereum) peerHandler(listener net.Listener) {
}
func (s *Ethereum) Stop() {
+ // Stop eventMux first, it will close all subscriptions.
+ s.eventMux.Stop()
+
// Close the database
defer s.db.Close()
@@ -514,7 +517,6 @@ func (s *Ethereum) Stop() {
}
s.txPool.Stop()
s.stateManager.Stop()
- s.eventMux.Stop()
s.blockPool.Stop()
ethlogger.Infoln("Server stopped")
diff --git a/javascript/javascript_runtime.go b/javascript/javascript_runtime.go
index 704635d97..6c5a87338 100644
--- a/javascript/javascript_runtime.go
+++ b/javascript/javascript_runtime.go
@@ -25,8 +25,7 @@ type JSRE struct {
Vm *otto.Otto
pipe *ethpipe.JSPipe
- events event.Subscription
- quitChan chan bool
+ events event.Subscription
objectCb map[string][]otto.Value
}
@@ -51,7 +50,6 @@ func NewJSRE(ethereum *eth.Ethereum) *JSRE {
otto.New(),
ethpipe.NewJSPipe(ethereum),
nil,
- make(chan bool),
make(map[string][]otto.Value),
}
@@ -104,10 +102,6 @@ func (self *JSRE) Require(file string) error {
func (self *JSRE) Stop() {
self.events.Unsubscribe()
- // Kill the main loop
- self.quitChan <- true
-
- close(self.quitChan)
jsrelogger.Infoln("stopped")
}