Skip to content

Commit 845aae3

Browse files
authored
GetN returns an error if the queue is closed (#16)
1 parent ca2fdd6 commit 845aae3

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

dsqueue.go

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,10 +133,17 @@ func (q *DSQueue) GetN(n int) ([][]byte, error) {
133133
return nil, nil
134134
}
135135
rsp := make(chan getResponse)
136-
q.getn <- getRequest{
136+
req := getRequest{
137137
n: n,
138138
rsp: rsp,
139139
}
140+
141+
select {
142+
case q.getn <- req:
143+
case <-q.closed:
144+
return nil, fmt.Errorf("%s queue closed", q.name)
145+
}
146+
140147
getRsp := <-rsp
141148
return getRsp.items, getRsp.err
142149
}

0 commit comments

Comments
 (0)