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
+13 -3
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 {
case err = <-errch:
if err != nil { if err != nil {
return err return err
} }
return nil return nil
case <-ctx.Done():
return ctx.Err()
case <-done:
return nil
}
} }
func SyncEventsFromIDs(ctx context.Context, dir Direction) { func SyncEventsFromIDs(ctx context.Context, dir Direction) {