mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-27 15:16:43 +00:00
p2p/simulations: Fix stopping exec nodes
Signed-off-by: Lewis Marshall <lewis@lmars.net>
This commit is contained in:
parent
71fb11d6a0
commit
5cfb34a151
1 changed files with 4 additions and 11 deletions
|
|
@ -183,25 +183,18 @@ func (n *ExecNode) Start(snapshots map[string][]byte) (err error) {
|
|||
|
||||
// read the WebSocket address from the stderr logs
|
||||
var wsAddr string
|
||||
errC := make(chan error)
|
||||
wsAddrC := make(chan string)
|
||||
go func() {
|
||||
s := bufio.NewScanner(stderrR)
|
||||
for s.Scan() {
|
||||
if strings.Contains(s.Text(), "WebSocket endpoint opened:") {
|
||||
wsAddr = wsAddrPattern.FindString(s.Text())
|
||||
break
|
||||
wsAddrC <- wsAddrPattern.FindString(s.Text())
|
||||
}
|
||||
}
|
||||
select {
|
||||
case errC <- s.Err():
|
||||
default:
|
||||
}
|
||||
}()
|
||||
select {
|
||||
case err := <-errC:
|
||||
if err != nil {
|
||||
return fmt.Errorf("error reading WebSocket address from stderr: %s", err)
|
||||
} else if wsAddr == "" {
|
||||
case wsAddr = <-wsAddrC:
|
||||
if wsAddr == "" {
|
||||
return errors.New("failed to read WebSocket address from stderr")
|
||||
}
|
||||
case <-time.After(10 * time.Second):
|
||||
|
|
|
|||
Loading…
Reference in a new issue