From 61b2f6345b02f6bc5a2be26ac85cac2074156984 Mon Sep 17 00:00:00 2001 From: Lobo Date: Sat, 11 Oct 2025 23:53:10 -0300 Subject: [PATCH] fix deadlock fr; just needed to make the outgoing channel buffered lmao --- command.go | 15 ++++++--------- main.go | 2 +- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/command.go b/command.go index 18850af..47ac666 100644 --- a/command.go +++ b/command.go @@ -56,18 +56,15 @@ func (app *App) Last(n int) (err error) { return err } - if nsrv == 0 { - goto count - } - - for range nsrv { - if !app.scanner.Scan() { - return app.scanner.Err() + if nsrv != 0 { + for range nsrv { + if !app.scanner.Scan() { + return app.scanner.Err() + } + app.incoming <- Message(app.scanner.Text()) } - app.incoming <- Message(app.scanner.Text()) } -count: var last int if !app.scanner.Scan() { return app.scanner.Err() diff --git a/main.go b/main.go index 1652a4d..1787ab5 100644 --- a/main.go +++ b/main.go @@ -82,7 +82,7 @@ func (app *App) Connect(host, port string) (err error) { } app.scanner = bufio.NewScanner(app.conn) app.incoming = make(chan IncomingEvent) - app.outgoing = make(chan OutgoingEvent) + app.outgoing = make(chan OutgoingEvent, 256) app.error = make(chan error) app.ticker = time.NewTicker(1 * time.Second)