diff --git a/communication_techniques/src/communication/batch_queue.c b/communication_techniques/src/communication/batch_queue.c index 3cc892f..0605ca4 100644 --- a/communication_techniques/src/communication/batch_queue.c +++ b/communication_techniques/src/communication/batch_queue.c @@ -37,13 +37,12 @@ int destroy_comm_channel(void *channel) */ void *recv_one_data(struct channel *channel) { - static __thread int i; void *result; if (unlikely(!(channel->receiver_idx % (BUF_SIZE / sizeof(void *))))) while (!channel->state); result = channel->buf[channel->receiver_idx++]; - i %= (2 * BUF_SIZE) / sizeof(void *); + channel->receiver_idx %= (2 * BUF_SIZE) / sizeof(void *); if (unlikely(!(channel->receiver_idx % (BUF_SIZE / sizeof(void *))))) channel->state = 0; return result;