diff options
author | Jeffrey Wilcke <obscuren@users.noreply.github.com> | 2014-10-30 04:09:32 +0800 |
---|---|---|
committer | Jeffrey Wilcke <obscuren@users.noreply.github.com> | 2014-10-30 04:09:32 +0800 |
commit | ce2ec1980bbc97fb9b2acc27c6249be1249fa44c (patch) | |
tree | 975a2a75b04f0c7c3cc2004e020c66c9a10a57d0 | |
parent | f05d422a97bfdfbf141a455d25566779c4b32da9 (diff) | |
parent | e252dbf989f8a8e08e3edcaf075febee315e53fd (diff) | |
download | go-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.go | 4 | ||||
-rw-r--r-- | javascript/javascript_runtime.go | 8 |
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") } |