Provide a way to look at the head of the ring
This commit was SVN r24832.
Этот коммит содержится в:
родитель
93110ce805
Коммит
9244ea10fb
@ -144,6 +144,13 @@ void* opal_ring_buffer_pop(opal_ring_buffer_t *ring)
|
||||
OPAL_ACQUIRE_THREAD(&(ring->lock), &(ring->cond), &(ring->in_use));
|
||||
if (ring->size <= i || -1 == ring->tail) {
|
||||
p = NULL;
|
||||
} else if (i < 0) {
|
||||
/* return the value at the head of the ring */
|
||||
if (ring->head == 0) {
|
||||
p = ring->addr[ring->size - 1];
|
||||
} else {
|
||||
p = ring->addr[ring->head - 1];
|
||||
}
|
||||
} else {
|
||||
/* calculate the offset of the tail in the ring */
|
||||
offset = ring->tail + i;
|
||||
|
@ -95,7 +95,8 @@ OPAL_DECLSPEC void* opal_ring_buffer_pop(opal_ring_buffer_t *ring);
|
||||
|
||||
/*
|
||||
* Access an element of the ring, without removing it, indexed
|
||||
* starting at the tail
|
||||
* starting at the tail - a value of -1 will return the element
|
||||
* at the head of the ring
|
||||
*/
|
||||
OPAL_DECLSPEC void* opal_ring_buffer_poke(opal_ring_buffer_t *ring, int i);
|
||||
|
||||
|
Загрузка…
Ссылка в новой задаче
Block a user