nip77: fix one possible infinite loop with channels.

This commit is contained in:
fiatjaf
2026-02-09 18:38:39 -03:00
parent a98ac0d050
commit 3f52d10421
+16 -6
View File
@@ -128,17 +128,27 @@ func NegentropySync(
}) })
} }
done := make(chan struct{})
go func() { go func() {
defer close(done)
wg.Wait() wg.Wait()
errch <- nil select {
case errch <- nil:
case <-ctx.Done():
}
}() }()
err = <-errch select {
if err != nil { case err = <-errch:
return err if err != nil {
return err
}
return nil
case <-ctx.Done():
return ctx.Err()
case <-done:
return nil
} }
return nil
} }
func SyncEventsFromIDs(ctx context.Context, dir Direction) { func SyncEventsFromIDs(ctx context.Context, dir Direction) {