aboutsummaryrefslogtreecommitdiffstats
path: root/ethereum/repl.go
diff options
context:
space:
mode:
authorobscuren <geffobscura@gmail.com>2014-06-27 01:53:03 +0800
committerobscuren <geffobscura@gmail.com>2014-06-27 01:53:03 +0800
commitfd89df4d386f75f103808c2766c3a837e07ab651 (patch)
tree7b69cfda3c5dbc8431657ec34629c56bcdec0d8f /ethereum/repl.go
parentb57ee874852cc49210c68dce14eb45db448d9ae7 (diff)
parent91bdf9e8012cb396f5fa08765190d76e758fb6a0 (diff)
downloadgo-tangerine-fd89df4d386f75f103808c2766c3a837e07ab651.tar
go-tangerine-fd89df4d386f75f103808c2766c3a837e07ab651.tar.gz
go-tangerine-fd89df4d386f75f103808c2766c3a837e07ab651.tar.bz2
go-tangerine-fd89df4d386f75f103808c2766c3a837e07ab651.tar.lz
go-tangerine-fd89df4d386f75f103808c2766c3a837e07ab651.tar.xz
go-tangerine-fd89df4d386f75f103808c2766c3a837e07ab651.tar.zst
go-tangerine-fd89df4d386f75f103808c2766c3a837e07ab651.zip
Merge branch 'develop' into release/0.5.15
Diffstat (limited to 'ethereum/repl.go')
-rw-r--r--ethereum/repl.go36
1 files changed, 23 insertions, 13 deletions
diff --git a/ethereum/repl.go b/ethereum/repl.go
index dd8d08179..34380a06f 100644
--- a/ethereum/repl.go
+++ b/ethereum/repl.go
@@ -23,6 +23,8 @@ type JSRepl struct {
prompt string
history *os.File
+
+ running bool
}
func NewJSRepl(ethereum *eth.Ethereum) *JSRepl {
@@ -35,24 +37,32 @@ func NewJSRepl(ethereum *eth.Ethereum) *JSRepl {
}
func (self *JSRepl) Start() {
- reader := bufio.NewReader(self.history)
- for {
- line, err := reader.ReadString('\n')
- if err != nil && err == io.EOF {
- break
- } else if err != nil {
- fmt.Println("error reading history", err)
- break
+ if !self.running {
+ self.running = true
+ logger.Infoln("init JS Console")
+ reader := bufio.NewReader(self.history)
+ for {
+ line, err := reader.ReadString('\n')
+ if err != nil && err == io.EOF {
+ break
+ } else if err != nil {
+ fmt.Println("error reading history", err)
+ break
+ }
+
+ addHistory(line[:len(line)-1])
}
-
- addHistory(line[:len(line)-1])
+ self.read()
}
- self.read()
}
func (self *JSRepl) Stop() {
- self.re.Stop()
- self.history.Close()
+ if self.running {
+ self.running = false
+ self.re.Stop()
+ logger.Infoln("exit JS Console")
+ self.history.Close()
+ }
}
func (self *JSRepl) parseInput(code string) {