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
|
// read the WebSocket address from the stderr logs
|
||||||
var wsAddr string
|
var wsAddr string
|
||||||
errC := make(chan error)
|
wsAddrC := make(chan string)
|
||||||
go func() {
|
go func() {
|
||||||
s := bufio.NewScanner(stderrR)
|
s := bufio.NewScanner(stderrR)
|
||||||
for s.Scan() {
|
for s.Scan() {
|
||||||
if strings.Contains(s.Text(), "WebSocket endpoint opened:") {
|
if strings.Contains(s.Text(), "WebSocket endpoint opened:") {
|
||||||
wsAddr = wsAddrPattern.FindString(s.Text())
|
wsAddrC <- wsAddrPattern.FindString(s.Text())
|
||||||
break
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
select {
|
|
||||||
case errC <- s.Err():
|
|
||||||
default:
|
|
||||||
}
|
|
||||||
}()
|
}()
|
||||||
select {
|
select {
|
||||||
case err := <-errC:
|
case wsAddr = <-wsAddrC:
|
||||||
if err != nil {
|
if wsAddr == "" {
|
||||||
return fmt.Errorf("error reading WebSocket address from stderr: %s", err)
|
|
||||||
} else if wsAddr == "" {
|
|
||||||
return errors.New("failed to read WebSocket address from stderr")
|
return errors.New("failed to read WebSocket address from stderr")
|
||||||
}
|
}
|
||||||
case <-time.After(10 * time.Second):
|
case <-time.After(10 * time.Second):
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue