ring               41 opal/class/opal_ring_buffer.c static void opal_ring_buffer_construct(opal_ring_buffer_t *ring)
ring               43 opal/class/opal_ring_buffer.c     OBJ_CONSTRUCT(&ring->lock, opal_mutex_t);
ring               44 opal/class/opal_ring_buffer.c     OBJ_CONSTRUCT(&ring->cond, opal_condition_t);
ring               45 opal/class/opal_ring_buffer.c     ring->in_use = false;
ring               46 opal/class/opal_ring_buffer.c     ring->head = 0;
ring               47 opal/class/opal_ring_buffer.c     ring->tail = -1;
ring               48 opal/class/opal_ring_buffer.c     ring->size = 0;
ring               49 opal/class/opal_ring_buffer.c     ring->addr = NULL;
ring               55 opal/class/opal_ring_buffer.c static void opal_ring_buffer_destruct(opal_ring_buffer_t *ring)
ring               57 opal/class/opal_ring_buffer.c     if( NULL != ring->addr) {
ring               58 opal/class/opal_ring_buffer.c         free(ring->addr);
ring               59 opal/class/opal_ring_buffer.c         ring->addr = NULL;
ring               62 opal/class/opal_ring_buffer.c     ring->size = 0;
ring               64 opal/class/opal_ring_buffer.c     OBJ_DESTRUCT(&ring->lock);
ring               65 opal/class/opal_ring_buffer.c     OBJ_DESTRUCT(&ring->cond);
ring               71 opal/class/opal_ring_buffer.c int opal_ring_buffer_init(opal_ring_buffer_t* ring, int size)
ring               74 opal/class/opal_ring_buffer.c     if (NULL == ring) {
ring               79 opal/class/opal_ring_buffer.c     ring->addr = (char **)calloc(size * sizeof(char*), 1);
ring               80 opal/class/opal_ring_buffer.c     if (NULL == ring->addr) { /* out of memory */
ring               83 opal/class/opal_ring_buffer.c     ring->size = size;
ring               88 opal/class/opal_ring_buffer.c void* opal_ring_buffer_push(opal_ring_buffer_t *ring, void *ptr)
ring               92 opal/class/opal_ring_buffer.c     OPAL_ACQUIRE_THREAD(&(ring->lock), &(ring->cond), &(ring->in_use));
ring               93 opal/class/opal_ring_buffer.c     if (NULL != ring->addr[ring->head]) {
ring               94 opal/class/opal_ring_buffer.c         p = (char*)ring->addr[ring->head];
ring               95 opal/class/opal_ring_buffer.c         if (ring->tail == ring->size - 1) {
ring               96 opal/class/opal_ring_buffer.c             ring->tail = 0;
ring               98 opal/class/opal_ring_buffer.c             ring->tail = ring->head + 1;
ring              101 opal/class/opal_ring_buffer.c     ring->addr[ring->head] = (char*)ptr;
ring              102 opal/class/opal_ring_buffer.c     if (ring->tail < 0) {
ring              103 opal/class/opal_ring_buffer.c         ring->tail = ring->head;
ring              105 opal/class/opal_ring_buffer.c     if (ring->head == ring->size - 1) {
ring              106 opal/class/opal_ring_buffer.c         ring->head = 0;
ring              108 opal/class/opal_ring_buffer.c         ring->head++;
ring              110 opal/class/opal_ring_buffer.c     OPAL_RELEASE_THREAD(&(ring->lock), &(ring->cond), &(ring->in_use));
ring              114 opal/class/opal_ring_buffer.c void* opal_ring_buffer_pop(opal_ring_buffer_t *ring)
ring              118 opal/class/opal_ring_buffer.c     OPAL_ACQUIRE_THREAD(&(ring->lock), &(ring->cond), &(ring->in_use));
ring              119 opal/class/opal_ring_buffer.c     if (-1 == ring->tail) {
ring              123 opal/class/opal_ring_buffer.c         p = (char*)ring->addr[ring->tail];
ring              124 opal/class/opal_ring_buffer.c         ring->addr[ring->tail] = NULL;
ring              125 opal/class/opal_ring_buffer.c         if (ring->tail == ring->size-1) {
ring              126 opal/class/opal_ring_buffer.c             ring->tail = 0;
ring              128 opal/class/opal_ring_buffer.c             ring->tail++;
ring              131 opal/class/opal_ring_buffer.c         if (ring->tail == ring->head) {
ring              132 opal/class/opal_ring_buffer.c             ring->tail = -1;
ring              135 opal/class/opal_ring_buffer.c     OPAL_RELEASE_THREAD(&(ring->lock), &(ring->cond), &(ring->in_use));
ring              139 opal/class/opal_ring_buffer.c  void* opal_ring_buffer_poke(opal_ring_buffer_t *ring, int i)
ring              144 opal/class/opal_ring_buffer.c     OPAL_ACQUIRE_THREAD(&(ring->lock), &(ring->cond), &(ring->in_use));
ring              145 opal/class/opal_ring_buffer.c     if (ring->size <= i || -1 == ring->tail) {
ring              149 opal/class/opal_ring_buffer.c         if (ring->head == 0) {
ring              150 opal/class/opal_ring_buffer.c             p = ring->addr[ring->size - 1];
ring              152 opal/class/opal_ring_buffer.c             p = ring->addr[ring->head - 1];
ring              156 opal/class/opal_ring_buffer.c         offset = ring->tail + i;
ring              158 opal/class/opal_ring_buffer.c         if (ring->size <= offset) {
ring              159 opal/class/opal_ring_buffer.c             offset -= ring->size;
ring              161 opal/class/opal_ring_buffer.c         p = ring->addr[offset];
ring              163 opal/class/opal_ring_buffer.c     OPAL_RELEASE_THREAD(&(ring->lock), &(ring->cond), &(ring->in_use));
ring               71 opal/class/opal_ring_buffer.h OPAL_DECLSPEC int opal_ring_buffer_init(opal_ring_buffer_t* ring, int size);
ring               82 opal/class/opal_ring_buffer.h OPAL_DECLSPEC void* opal_ring_buffer_push(opal_ring_buffer_t *ring, void *ptr);
ring               94 opal/class/opal_ring_buffer.h OPAL_DECLSPEC void* opal_ring_buffer_pop(opal_ring_buffer_t *ring);
ring              101 opal/class/opal_ring_buffer.h OPAL_DECLSPEC void* opal_ring_buffer_poke(opal_ring_buffer_t *ring, int i);
ring               42 opal/mca/pmix/pmix4x/pmix/src/class/pmix_ring_buffer.c static void pmix_ring_buffer_construct(pmix_ring_buffer_t *ring)
ring               44 opal/mca/pmix/pmix4x/pmix/src/class/pmix_ring_buffer.c     ring->head = 0;
ring               45 opal/mca/pmix/pmix4x/pmix/src/class/pmix_ring_buffer.c     ring->tail = -1;
ring               46 opal/mca/pmix/pmix4x/pmix/src/class/pmix_ring_buffer.c     ring->size = 0;
ring               47 opal/mca/pmix/pmix4x/pmix/src/class/pmix_ring_buffer.c     ring->addr = NULL;
ring               53 opal/mca/pmix/pmix4x/pmix/src/class/pmix_ring_buffer.c static void pmix_ring_buffer_destruct(pmix_ring_buffer_t *ring)
ring               55 opal/mca/pmix/pmix4x/pmix/src/class/pmix_ring_buffer.c     if( NULL != ring->addr) {
ring               56 opal/mca/pmix/pmix4x/pmix/src/class/pmix_ring_buffer.c         free(ring->addr);
ring               57 opal/mca/pmix/pmix4x/pmix/src/class/pmix_ring_buffer.c         ring->addr = NULL;
ring               60 opal/mca/pmix/pmix4x/pmix/src/class/pmix_ring_buffer.c     ring->size = 0;
ring               66 opal/mca/pmix/pmix4x/pmix/src/class/pmix_ring_buffer.c int pmix_ring_buffer_init(pmix_ring_buffer_t* ring, int size)
ring               69 opal/mca/pmix/pmix4x/pmix/src/class/pmix_ring_buffer.c     if (NULL == ring) {
ring               74 opal/mca/pmix/pmix4x/pmix/src/class/pmix_ring_buffer.c     ring->addr = (char **)calloc(size * sizeof(char*), 1);
ring               75 opal/mca/pmix/pmix4x/pmix/src/class/pmix_ring_buffer.c     if (NULL == ring->addr) { /* out of memory */
ring               78 opal/mca/pmix/pmix4x/pmix/src/class/pmix_ring_buffer.c     ring->size = size;
ring               83 opal/mca/pmix/pmix4x/pmix/src/class/pmix_ring_buffer.c void* pmix_ring_buffer_push(pmix_ring_buffer_t *ring, void *ptr)
ring               87 opal/mca/pmix/pmix4x/pmix/src/class/pmix_ring_buffer.c     if (NULL != ring->addr[ring->head]) {
ring               88 opal/mca/pmix/pmix4x/pmix/src/class/pmix_ring_buffer.c         p = (char*)ring->addr[ring->head];
ring               89 opal/mca/pmix/pmix4x/pmix/src/class/pmix_ring_buffer.c         if (ring->tail == ring->size - 1) {
ring               90 opal/mca/pmix/pmix4x/pmix/src/class/pmix_ring_buffer.c             ring->tail = 0;
ring               92 opal/mca/pmix/pmix4x/pmix/src/class/pmix_ring_buffer.c             ring->tail = ring->head + 1;
ring               95 opal/mca/pmix/pmix4x/pmix/src/class/pmix_ring_buffer.c     ring->addr[ring->head] = (char*)ptr;
ring               96 opal/mca/pmix/pmix4x/pmix/src/class/pmix_ring_buffer.c     if (ring->tail < 0) {
ring               97 opal/mca/pmix/pmix4x/pmix/src/class/pmix_ring_buffer.c         ring->tail = ring->head;
ring               99 opal/mca/pmix/pmix4x/pmix/src/class/pmix_ring_buffer.c     if (ring->head == ring->size - 1) {
ring              100 opal/mca/pmix/pmix4x/pmix/src/class/pmix_ring_buffer.c         ring->head = 0;
ring              102 opal/mca/pmix/pmix4x/pmix/src/class/pmix_ring_buffer.c         ring->head++;
ring              107 opal/mca/pmix/pmix4x/pmix/src/class/pmix_ring_buffer.c void* pmix_ring_buffer_pop(pmix_ring_buffer_t *ring)
ring              111 opal/mca/pmix/pmix4x/pmix/src/class/pmix_ring_buffer.c     if (-1 == ring->tail) {
ring              115 opal/mca/pmix/pmix4x/pmix/src/class/pmix_ring_buffer.c         p = (char*)ring->addr[ring->tail];
ring              116 opal/mca/pmix/pmix4x/pmix/src/class/pmix_ring_buffer.c         ring->addr[ring->tail] = NULL;
ring              117 opal/mca/pmix/pmix4x/pmix/src/class/pmix_ring_buffer.c         if (ring->tail == ring->size-1) {
ring              118 opal/mca/pmix/pmix4x/pmix/src/class/pmix_ring_buffer.c             ring->tail = 0;
ring              120 opal/mca/pmix/pmix4x/pmix/src/class/pmix_ring_buffer.c             ring->tail++;
ring              123 opal/mca/pmix/pmix4x/pmix/src/class/pmix_ring_buffer.c         if (ring->tail == ring->head) {
ring              124 opal/mca/pmix/pmix4x/pmix/src/class/pmix_ring_buffer.c             ring->tail = -1;
ring              130 opal/mca/pmix/pmix4x/pmix/src/class/pmix_ring_buffer.c  void* pmix_ring_buffer_poke(pmix_ring_buffer_t *ring, int i)
ring              135 opal/mca/pmix/pmix4x/pmix/src/class/pmix_ring_buffer.c     if (ring->size <= i || -1 == ring->tail) {
ring              139 opal/mca/pmix/pmix4x/pmix/src/class/pmix_ring_buffer.c         if (ring->head == 0) {
ring              140 opal/mca/pmix/pmix4x/pmix/src/class/pmix_ring_buffer.c             p = ring->addr[ring->size - 1];
ring              142 opal/mca/pmix/pmix4x/pmix/src/class/pmix_ring_buffer.c             p = ring->addr[ring->head - 1];
ring              146 opal/mca/pmix/pmix4x/pmix/src/class/pmix_ring_buffer.c         offset = ring->tail + i;
ring              148 opal/mca/pmix/pmix4x/pmix/src/class/pmix_ring_buffer.c         if (ring->size <= offset) {
ring              149 opal/mca/pmix/pmix4x/pmix/src/class/pmix_ring_buffer.c             offset -= ring->size;
ring              151 opal/mca/pmix/pmix4x/pmix/src/class/pmix_ring_buffer.c         p = ring->addr[offset];
ring               67 opal/mca/pmix/pmix4x/pmix/src/class/pmix_ring_buffer.h PMIX_EXPORT int pmix_ring_buffer_init(pmix_ring_buffer_t* ring, int size);
ring               79 opal/mca/pmix/pmix4x/pmix/src/class/pmix_ring_buffer.h PMIX_EXPORT void* pmix_ring_buffer_push(pmix_ring_buffer_t *ring, void *ptr);
ring               91 opal/mca/pmix/pmix4x/pmix/src/class/pmix_ring_buffer.h PMIX_EXPORT void* pmix_ring_buffer_pop(pmix_ring_buffer_t *ring);
ring               98 opal/mca/pmix/pmix4x/pmix/src/class/pmix_ring_buffer.h PMIX_EXPORT void* pmix_ring_buffer_poke(pmix_ring_buffer_t *ring, int i);