
This queue implementation enables a producer and a consumer to communicate via a queue. More...
Go to the source code of this file.
Data Structures | |
| struct | CmiMemorySMPSeparation_t |
| This data type is at least one cache line of padding, used to avoid cache line thrashing on SMP systems. More... | |
| struct | CircQueueStruct |
| The simple version of pcqueue has dropped the function of being expanded if the queue is full. More... | |
| struct | PCQueueStruct |
Typedefs | |
| typedef struct CircQueueStruct * | CircQueue |
| typedef struct PCQueueStruct * | PCQueue |
Functions | |
| static PCQueue | PCQueueCreate (void) |
| static void | PCQueueDestroy (PCQueue Q) |
| static int | PCQueueEmpty (PCQueue Q) |
| static int | PCQueueLength (PCQueue Q) |
| static char * | PCQueueTop (PCQueue Q) |
| static char * | PCQueuePop (PCQueue Q) |
This queue implementation enables a producer and a consumer to communicate via a queue.
The queues are optimized for this situation, they don't require any operating system locks (they do require 32-bit reads and writes to be atomic.) Cautions: there can only be one producer, and one consumer. These queues cannot store null pointers.
Definition in file pcqueue.h.
1.5.5