summaryrefslogtreecommitdiff
path: root/internal/server/handlers/readcommand.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-03-02 09:02:34 +0200
committerPaul Buetow <paul@buetow.org>2026-03-02 09:02:34 +0200
commit174bd919ab58e15a1841df428025ea9cc8ef7e3a (patch)
tree80264b611389cfca486384887c9324eaac34e98e /internal/server/handlers/readcommand.go
parent50a40f6e77e9f9a6f65e0596c789f67b91f6a6e1 (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.go11
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