changes
[model-checker-benchmarks.git] / ms-queue / queue.h
index edaf3ddd1a7f4d925908e67e3a9c2f807e39c39a..76e217ba4816dc144ce8939012bda4817520192d 100644 (file)
@@ -22,10 +22,13 @@ typedef struct node {
 typedef struct {
        pointer_t head;
        pointer_t tail;
-       node_t nodes[MAX_NODES + 1];
+       node_t nodes[MAX_NODES + 2];
 } queue_t;
 
 void init_queue(queue_t *q, int num_threads);
-void enqueue(queue_t *q, unsigned int val);
-bool dequeue(queue_t *q, unsigned int *retVal);
+void enqueue(queue_t *q, unsigned int val, bool yield);
+bool dequeue(queue_t *q, unsigned int *retVal, unsigned int *reclaimedNode);
+
+void simulateRecycledNodeUpdate(queue_t *q, unsigned int node);
+
 int get_thread_num();