From 6469524257e0841c5b132bee8efd787c06960573 Mon Sep 17 00:00:00 2001 From: gammazero <11790789+gammazero@users.noreply.github.com> Date: Fri, 12 Sep 2025 22:17:28 -1000 Subject: [PATCH] GetN returns an error if the queue is closed --- dsqueue.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/dsqueue.go b/dsqueue.go index bb94716..a173a4d 100644 --- a/dsqueue.go +++ b/dsqueue.go @@ -133,10 +133,17 @@ func (q *DSQueue) GetN(n int) ([][]byte, error) { return nil, nil } rsp := make(chan getResponse) - q.getn <- getRequest{ + req := getRequest{ n: n, rsp: rsp, } + + select { + case q.getn <- req: + case <-q.closed: + return nil, fmt.Errorf("%s queue closed", q.name) + } + getRsp := <-rsp return getRsp.items, getRsp.err }