Blocking.Reset (blocking.go:101-110) calls notEmptyCond.Broadcast() but not notFullCond.Broadcast(). If the queue was at capacity with producers blocked on OfferWait, Reset shrinks the queue but never wakes them — they remain blocked despite free slots being available.
Fix:
bq.notEmptyCond.Broadcast()
bq.notFullCond.Broadcast()
Blocking.Reset(blocking.go:101-110) callsnotEmptyCond.Broadcast()but notnotFullCond.Broadcast(). If the queue was at capacity with producers blocked onOfferWait,Resetshrinks the queue but never wakes them — they remain blocked despite free slots being available.Fix: