Allocates and returns a new *queue. size needs to be an exponent of two.
(size uint32)
| 50 | |
| 51 | // Allocates and returns a new *queue. size needs to be an exponent of two. |
| 52 | func newQueue(size uint32) *queue { |
| 53 | return &queue{ |
| 54 | arr: make([]unsafe.Pointer, size), |
| 55 | size: size, |
| 56 | mask: size - 1, |
| 57 | } |
| 58 | } |
| 59 | |
| 60 | // drainWait blocks the caller until all Pushes on this queue are complete. |
| 61 | func (q *queue) drainWait() { |