GNU Radio 3.3.0 C++ API
gc_jd_stack.h File Reference
#include <gcell/gc_types.h>
#include <gcell/gc_job_desc.h>
Include dependency graph for gc_jd_stack.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  gc_jd_stack
 Lock free stack for job descriptors (used for free list) More...

Typedefs

typedef __GC_BEGIN_DECLS
struct gc_jd_stack 
gc_jd_stack_t
 Lock free stack for job descriptors (used for free list)

Functions

void gc_jd_stack_init (gc_jd_stack_t *stack)
 Initialize the stack to empty.
void gc_jd_stack_push (gc_jd_stack_t *stack, gc_job_desc_t *item)
 Add item to the top of stack.
gc_job_desc_tgc_jd_stack_pop (gc_jd_stack_t *stack)
 pop and return top item on stack, or 0 if stack is empty

Typedef Documentation

typedef __GC_BEGIN_DECLS struct gc_jd_stack gc_jd_stack_t

Lock free stack for job descriptors (used for free list)

This is aligned to a cache line, and fills the cache line, to avoid inadvertently losing reservations created with the load-and-reserve instructions.


Function Documentation

void gc_jd_stack_init ( gc_jd_stack_t stack)

Initialize the stack to empty.

gc_job_desc_t* gc_jd_stack_pop ( gc_jd_stack_t stack)

pop and return top item on stack, or 0 if stack is empty

void gc_jd_stack_push ( gc_jd_stack_t stack,
gc_job_desc_t item 
)

Add item to the top of stack.