diff --git a/blockchain/reactor.go b/blockchain/reactor.go index fb7ff2053..fc1a494cb 100644 --- a/blockchain/reactor.go +++ b/blockchain/reactor.go @@ -79,7 +79,10 @@ func NewBlockchainReactor(state *sm.State, store *BlockStore, sync bool) *Blockc func (bcR *BlockchainReactor) OnStart() error { bcR.BaseReactor.OnStart() if bcR.sync { - bcR.pool.Start() + _, err := bcR.pool.Start() + if err != nil { + return err + } go bcR.poolRoutine() } return nil diff --git a/cmd/sim_txs/main.go b/cmd/sim_txs/main.go index a9b0fc01b..1e928c0e4 100644 --- a/cmd/sim_txs/main.go +++ b/cmd/sim_txs/main.go @@ -95,22 +95,6 @@ func main() { return } - /* - go func() { - for { - sendTx := makeRandomTransaction(rootAccount, root, accounts, privAccounts) - // Broadcast it. - err := broadcastSendTx(remote, sendTx) - if err != nil { - Exit(Fmt("Failed to broadcast SendTx: %v", err)) - return - } - // Broadcast 1 tx! - time.Sleep(10 * time.Millisecond) - } - }() - */ - // Trap signal TrapSignal(func() { fmt.Println("sim_txs shutting down") diff --git a/cmd/stdinwriter/main.go b/cmd/stdinwriter/main.go index f254ca715..87c75d45d 100644 --- a/cmd/stdinwriter/main.go +++ b/cmd/stdinwriter/main.go @@ -31,8 +31,7 @@ func main() { outfile, err := OpenAutoFile(outpath) if err != nil { - fmt.Println(Fmt("stdinwriter couldn't create outfile %v", outfile)) - os.Exit(1) + Exit(Fmt("stdinwriter couldn't create outfile %v", outfile)) } go writeToOutfile(outfile) @@ -55,8 +54,7 @@ func writeToOutfile(outfile *AutoFile) { if err == io.EOF { os.Exit(0) } else { - fmt.Println("stdinwriter errored") - os.Exit(1) + Exit("stdinwriter errored") } } } diff --git a/node/node.go b/node/node.go index 5c7358b6e..aaa828f5e 100644 --- a/node/node.go +++ b/node/node.go @@ -59,16 +59,14 @@ func NewNode() *Node { wire.WriteJSON(genDoc, buf, n, err) stateDB.Set(sm.GenDocKey, buf.Bytes()) if *err != nil { - log.Error("Unable to write gendoc to db", "error", err) - os.Exit(1) + Exit(Fmt("Unable to write gendoc to db: %v", err)) } } else { genDocBytes := stateDB.Get(sm.GenDocKey) err := new(error) wire.ReadJSONPtr(&genDoc, genDocBytes, err) if *err != nil { - log.Error("Unable to read gendoc from db", "error", err) - os.Exit(1) + Exit(Fmt("Unable to read gendoc from db: %v", err)) } } // add the chainid to the global config @@ -93,7 +91,10 @@ func NewNode() *Node { // Make event switch eventSwitch := events.NewEventSwitch() - eventSwitch.Start() + _, err := eventSwitch.Start() + if err != nil { + Exit(Fmt("Failed to start switch: %v", err)) + } // Make PEXReactor book := p2p.NewAddrBook(config.GetString("addrbook_file")) @@ -145,8 +146,8 @@ func (n *Node) Start() error { n.book.Start() n.sw.SetNodeInfo(makeNodeInfo(n.sw, n.privKey)) n.sw.SetNodePrivKey(n.privKey) - n.sw.Start() - return nil + _, err := n.sw.Start() + return err } func (n *Node) Stop() { @@ -282,7 +283,10 @@ func RunNode() { n := NewNode() l := p2p.NewDefaultListener("tcp", config.GetString("node_laddr"), false) n.AddListener(l) - n.Start() + err := n.Start() + if err != nil { + Exit(Fmt("Failed to start node: %v", err)) + } log.Notice("Started node", "nodeInfo", n.sw.NodeInfo()) diff --git a/p2p/switch.go b/p2p/switch.go index 111060362..b9daa6405 100644 --- a/p2p/switch.go +++ b/p2p/switch.go @@ -157,7 +157,10 @@ func (sw *Switch) OnStart() error { sw.BaseService.OnStart() // Start reactors for _, reactor := range sw.reactors { - reactor.Start() + _, err := reactor.Start() + if err != nil { + return err + } } // Start peers for _, peer := range sw.peers.List() { diff --git a/state/genesis.go b/state/genesis.go index 38981c44d..ad9752e22 100644 --- a/state/genesis.go +++ b/state/genesis.go @@ -2,16 +2,15 @@ package state import ( "io/ioutil" - "os" "time" acm "github.com/tendermint/tendermint/account" - "github.com/tendermint/tendermint/wire" . "github.com/tendermint/tendermint/common" dbm "github.com/tendermint/tendermint/db" "github.com/tendermint/tendermint/merkle" ptypes "github.com/tendermint/tendermint/permission/types" "github.com/tendermint/tendermint/types" + "github.com/tendermint/tendermint/wire" ) //------------------------------------------------------------ @@ -60,8 +59,7 @@ func GenesisDocFromJSON(jsonBlob []byte) (genState *GenesisDoc) { var err error wire.ReadJSONPtr(&genState, jsonBlob, &err) if err != nil { - log.Error(Fmt("Couldn't read GenesisDoc: %v", err)) - os.Exit(1) + Exit(Fmt("Couldn't read GenesisDoc: %v", err)) } return } @@ -69,8 +67,7 @@ func GenesisDocFromJSON(jsonBlob []byte) (genState *GenesisDoc) { func MakeGenesisStateFromFile(db dbm.DB, genDocFile string) (*GenesisDoc, *State) { jsonBlob, err := ioutil.ReadFile(genDocFile) if err != nil { - log.Error(Fmt("Couldn't read GenesisDoc file: %v", err)) - os.Exit(1) + Exit(Fmt("Couldn't read GenesisDoc file: %v", err)) } genDoc := GenesisDocFromJSON(jsonBlob) return genDoc, MakeGenesisState(db, genDoc) diff --git a/vm/test/log_event_test.go b/vm/test/log_event_test.go index 81dd3ef35..b2a819916 100644 --- a/vm/test/log_event_test.go +++ b/vm/test/log_event_test.go @@ -36,7 +36,10 @@ func TestLog4(t *testing.T) { ourVm := NewVM(st, newParams(), Zero256, nil) eventSwitch := events.NewEventSwitch() - eventSwitch.Start() + _, err := eventSwitch.Start() + if err != nil { + t.Errorf("Failed to start eventSwitch: %v", err) + } eventId := types.EventStringLogEvent(account2.Address.Postfix(20)) doneChan := make(chan struct{}, 1) @@ -79,7 +82,7 @@ func TestLog4(t *testing.T) { stop, } - _, err := ourVm.Call(account1, account2, code, []byte{}, 0, &gas) + _, err = ourVm.Call(account1, account2, code, []byte{}, 0, &gas) <-doneChan if err != nil { t.Fatal(err)