diff --git a/nip77/nip77.go b/nip77/nip77.go index 599d62a..701e2ec 100644 --- a/nip77/nip77.go +++ b/nip77/nip77.go @@ -128,17 +128,27 @@ func NegentropySync( }) } + done := make(chan struct{}) go func() { + defer close(done) wg.Wait() - errch <- nil + select { + case errch <- nil: + case <-ctx.Done(): + } }() - err = <-errch - if err != nil { - return err + select { + case err = <-errch: + 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) {