diff options
| author | Paul Buetow <paul@buetow.org> | 2026-03-02 09:02:34 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-03-02 09:02:34 +0200 |
| commit | 174bd919ab58e15a1841df428025ea9cc8ef7e3a (patch) | |
| tree | 80264b611389cfca486384887c9324eaac34e98e /internal/server/handlers/readcommand.go | |
| parent | 50a40f6e77e9f9a6f65e0596c789f67b91f6a6e1 (diff) | |
Extract protocol and turbo responsibilities from baseHandler (task 327)
Diffstat (limited to 'internal/server/handlers/readcommand.go')
| -rw-r--r-- | internal/server/handlers/readcommand.go | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/internal/server/handlers/readcommand.go b/internal/server/handlers/readcommand.go index 0375807..3410499 100644 --- a/internal/server/handlers/readcommand.go +++ b/internal/server/handlers/readcommand.go @@ -124,19 +124,14 @@ func (r *readCommand) readFiles(ctx context.Context, ltx lcontext.LContext, // This is crucial for proper shutdown in server mode if !r.server.serverCfg.TurboBoostDisable && r.server.aggregate == nil && (r.mode == omode.CatClient || r.mode == omode.GrepClient || r.mode == omode.TailClient) { - if r.server.IsTurboMode() && r.server.turboEOF != nil { + if r.server.IsTurboMode() && r.server.HasTurboEOF() { dlog.Server.Debug(r.server.user, "Turbo mode: flushing data before EOF signal") // Ensure all turbo data is flushed before signaling EOF r.server.flushTurboData() - // Signal EOF by closing the channel, but only if it hasn't been closed yet - select { - case <-r.server.turboEOF: - // Already closed - default: - close(r.server.turboEOF) - } + // Signal EOF by closing the channel, but only once. + r.server.SignalTurboEOF() // Wait to ensure all data is transmitted // This is especially important when files are queued due to concurrency limits |
