/**
@Begin
@Interface: Enqueue
- @Commit_point_set: Enqueue_Read_Tail | Enqueue_UpdateNext | Enqueue_UpdateOrLoad_Tail
+ @Commit_point_set: Enqueue_Read_Tail | Enqueue_UpdateNext
@ID: get_and_inc(tag)
@Action:
# __ID__ is an internal macro that refers to the id of the current
# interface call
tag_elem_t *elem = new_tag_elem(__ID__, val);
push_back(__queue, elem);
+ model_print("Enqueue: input=%d\n", val);
@End
*/
void enqueue(queue_t *q, unsigned int val);
if (size(__queue) > 0) {
_Old_Val = get_data(front(__queue));
pop_front(__queue);
- } else {
- _Old_Val = 0;
}
+ model_print("Dequeue: __RET=%d, retVal=%d\n", __RET__, *retVal);
@Post_check:
- __RET__ ? *output == _Old_Val : _Old_Val == 0
+ _Old_Val == 0 ? !__RET__ : _Old_Val == *retVal
@End
*/
-bool dequeue(queue_t *q, int *output);
+bool dequeue(queue_t *q, int *retVal);
int get_thread_num();
#endif