@cryptotaxi247 / kubo / commits / f1b688808

fix(swarm): use the go fork/join idiom

License: MIT Signed-off-by: Steven Allen <steven@stebalien.com>

Steven Allen committed Mar 18, 2019 at 18:58 UTC f1b68880817f78f230f20368d144cbc970032748
1 file changed +8 -15
core/commands/swarm.go
+8 -15
@@ -509,17 +509,6 @@ func resolveAddresses(ctx context.Context, addrs []string) ([]ma.Multiaddr, erro
509 resolveErrC := make(chan error, len(addrs))
510
511 maddrC := make(chan ma.Multiaddr)
512 - go func() {
513 - for {
514 - select {
515 - case maddr, ok := <-maddrC:
516 - if !ok {
517 - return
518 - }
519 - maddrs = append(maddrs, maddr)
520 - }
521 - }
522 - }()
512
513 for _, addr := range addrs {
514 maddr, err := ma.NewMultiaddr(addr)
@@ -553,10 +542,14 @@ func resolveAddresses(ctx context.Context, addrs []string) ([]ma.Multiaddr, erro
542 }
543 }(maddr)
544 }
556 - // wait for address resolving
557 - wg.Wait()
558 - // close the channel of collecting multiaddr
559 - close(maddrC)
545 + go func() {
546 + wg.Wait()
547 + close(maddrC)
548 + }()
549 +
550 + for maddr := range maddrC {
551 + maddrs = append(maddrs, maddr)
552 + }
553
554 select {
555 case err := <-resolveErrC: