1-
21#include "pika_hal_ex.h"
32
43pika_hal_CircularPtrQueue * pika_hal_circularPtrQueue_create (size_t capacity ) {
@@ -14,8 +13,9 @@ pika_hal_CircularPtrQueue* pika_hal_circularPtrQueue_create(size_t capacity) {
1413 pika_platform_thread_mutex_init (& cb -> mutex );
1514#endif
1615 cb -> capacity = capacity ;
17- cb -> buffer = (void * * )pikaMalloc (capacity *
18- sizeof (void * )); // 分配足够的空间来存储指针
16+ cb -> buffer = (void * * )pikaMalloc (
17+ capacity *
18+ sizeof (void * )); // Allocate sufficient space to store pointers
1919 if (NULL == cb -> buffer ) {
2020 pikaFree (cb , sizeof (pika_hal_CircularPtrQueue ));
2121 return NULL ;
@@ -69,7 +69,8 @@ int pika_hal_circularPtrQueue_deinit(pika_hal_CircularPtrQueue* cb) {
6969#if PIKA_HAL_CIRCULAR_QUEUE_MUTEX_ENABLE
7070 pika_platform_thread_mutex_lock (& cb -> mutex );
7171#endif
72- pikaFree (cb -> buffer , cb -> capacity * sizeof (void * )); // 释放指针数组
72+ pikaFree (cb -> buffer ,
73+ cb -> capacity * sizeof (void * )); // Free the pointer array
7374 cb -> buffer = NULL ;
7475 cb -> head = 0 ;
7576 cb -> tail = 0 ;
@@ -118,19 +119,19 @@ int pika_hal_circularPtrQueue_peek(pika_hal_CircularPtrQueue* cb,
118119 return 0 ;
119120}
120121
121- // 以下待测试
122+ // Below functions need testing
122123int pika_hal_circularPtrQueue_enqueueHead (pika_hal_CircularPtrQueue * cb ,
123124 void * data ) {
124125 int ret = 0 ;
125126#if PIKA_HAL_CIRCULAR_QUEUE_MUTEX_ENABLE
126127 pika_platform_thread_mutex_lock (& cb -> mutex );
127128#endif
128129 if (cb -> count == cb -> capacity ) {
129- ret = -1 ; // 队列已满
130+ ret = -1 ; // Queue is full
130131 goto __exit ;
131132 }
132133
133- // 更新 head 指针前的位置,然后更新 head
134+ // Update head position before modifying head pointer
134135 cb -> head = (cb -> head - 1 + cb -> capacity ) % cb -> capacity ;
135136 cb -> buffer [cb -> head ] = data ;
136137 cb -> count ++ ;
@@ -148,7 +149,7 @@ int pika_hal_circularPtrQueue_dequeueTail(pika_hal_CircularPtrQueue* cb,
148149 pika_platform_thread_mutex_lock (& cb -> mutex );
149150#endif
150151 if (cb -> count == 0 ) {
151- ret = -1 ; // 队列为空
152+ ret = -1 ; // Queue is empty
152153 goto __exit ;
153154 }
154155
@@ -165,7 +166,7 @@ int pika_hal_circularPtrQueue_dequeueTail(pika_hal_CircularPtrQueue* cb,
165166int pika_hal_circularPtrQueue_peekTail (pika_hal_CircularPtrQueue * cb ,
166167 void * * value ) {
167168 if (cb -> count == 0 ) {
168- return -1 ; // 队列为空
169+ return -1 ; // Queue is empty
169170 }
170171
171172#if PIKA_HAL_CIRCULAR_QUEUE_MUTEX_ENABLE
0 commit comments