summaryrefslogtreecommitdiff
path: root/internal/server/handlers/serverhandler.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-03-13 22:44:34 +0200
committerPaul Buetow <paul@buetow.org>2026-03-13 22:44:34 +0200
commit91296d85e8a6f1aca5beaeeecf648683c83c75bc (patch)
treed6bf0b0be51a72d0a597402e84b3664145d8e041 /internal/server/handlers/serverhandler.go
parent1b34e1f2501b8def0a0fb4eae28bf6c19a8adde2 (diff)
Fix mapreduce integration drain race
Diffstat (limited to 'internal/server/handlers/serverhandler.go')
-rw-r--r--internal/server/handlers/serverhandler.go3
1 files changed, 3 insertions, 0 deletions
diff --git a/internal/server/handlers/serverhandler.go b/internal/server/handlers/serverhandler.go
index ef64468..cd930f9 100644
--- a/internal/server/handlers/serverhandler.go
+++ b/internal/server/handlers/serverhandler.go
@@ -211,7 +211,9 @@ func (h *ServerHandler) handleAuthKeyCommand(_ context.Context, _ lcontext.LCont
func (h *ServerHandler) newGeneratedMaprMessagesChannel(ctx context.Context, generation uint64) (chan string, func()) {
maprMessages := make(chan string, 16)
+ done := make(chan struct{})
go func() {
+ defer close(done)
for {
select {
case message, ok := <-maprMessages:
@@ -228,5 +230,6 @@ func (h *ServerHandler) newGeneratedMaprMessagesChannel(ctx context.Context, gen
}()
return maprMessages, func() {
close(maprMessages)
+ <-done
}
}