func pqrwEnqueue(msgCount int64, q *spscq.PointerQ, batchSize int64, done chan bool) { runtime.LockOSThread() t := int64(1) buffer := make([]unsafe.Pointer, batchSize) for t < msgCount { if batchSize > msgCount-t { buffer = buffer[:msgCount-t] } for i := range buffer { t++ buffer[i] = unsafe.Pointer(uintptr(uint(t))) } for w := false; w == false; w = q.Write(buffer) { } } done <- true }