mirror of https://github.com/tailix/libshmemq.git
Get rid of jump flag
This commit is contained in:
parent
0ba560f839
commit
21b2f57bd7
|
@ -54,7 +54,6 @@ struct ShmemqBufferHeader {
|
|||
size_t frames_count;
|
||||
size_t read_frame_index;
|
||||
size_t write_frame_index;
|
||||
bool jumped;
|
||||
};
|
||||
|
||||
struct ShmemqBuffer {
|
||||
|
|
12
src/main.c
12
src/main.c
|
@ -137,7 +137,6 @@ void shmemq_init(
|
|||
|
||||
shmemq->buffer->header.read_frame_index = 0;
|
||||
shmemq->buffer->header.write_frame_index = 0;
|
||||
shmemq->buffer->header.jumped = false;
|
||||
}
|
||||
|
||||
if (error_ptr) *error_ptr = SHMEMQ_ERROR_NONE;
|
||||
|
@ -151,7 +150,6 @@ ShmemqFrame shmemq_push_start(const Shmemq shmemq)
|
|||
) {
|
||||
if (shmemq->buffer->header.read_frame_index > 0) {
|
||||
shmemq->buffer->header.write_frame_index = 0;
|
||||
shmemq->buffer->header.jumped = true;
|
||||
}
|
||||
else {
|
||||
return NULL;
|
||||
|
@ -159,9 +157,8 @@ ShmemqFrame shmemq_push_start(const Shmemq shmemq)
|
|||
}
|
||||
|
||||
if (
|
||||
shmemq->buffer->header.jumped &&
|
||||
shmemq->buffer->header.write_frame_index ==
|
||||
shmemq->buffer->header.read_frame_index
|
||||
shmemq->buffer->header.read_frame_index - 1
|
||||
) {
|
||||
return NULL;
|
||||
}
|
||||
|
@ -179,7 +176,6 @@ ShmemqFrame shmemq_push_start(const Shmemq shmemq)
|
|||
|
||||
high_frame->header.message_frames_count = 0;
|
||||
shmemq->buffer->header.write_frame_index = 0;
|
||||
shmemq->buffer->header.jumped = true;
|
||||
return low_frame;
|
||||
}
|
||||
|
||||
|
@ -199,9 +195,8 @@ void shmemq_push_end(
|
|||
}
|
||||
|
||||
if (
|
||||
shmemq->buffer->header.jumped &&
|
||||
shmemq->buffer->header.write_frame_index ==
|
||||
shmemq->buffer->header.read_frame_index
|
||||
shmemq->buffer->header.read_frame_index - 1
|
||||
) {
|
||||
if (error_ptr) *error_ptr = SHMEMQ_ERROR_BUG_PUSH_END_ON_FULL_QUEUE;
|
||||
return;
|
||||
|
@ -230,7 +225,6 @@ void shmemq_push_end(
|
|||
ShmemqFrame shmemq_pop_start(const Shmemq shmemq)
|
||||
{
|
||||
if (
|
||||
!shmemq->buffer->header.jumped &&
|
||||
shmemq->buffer->header.read_frame_index ==
|
||||
shmemq->buffer->header.write_frame_index
|
||||
) return NULL;
|
||||
|
@ -256,7 +250,6 @@ void shmemq_pop_end(const Shmemq shmemq, ShmemqError *const error_ptr)
|
|||
if (error_ptr) *error_ptr = SHMEMQ_ERROR_NONE;
|
||||
|
||||
if (
|
||||
!shmemq->buffer->header.jumped &&
|
||||
shmemq->buffer->header.read_frame_index ==
|
||||
shmemq->buffer->header.write_frame_index
|
||||
) {
|
||||
|
@ -279,5 +272,4 @@ void shmemq_pop_end(const Shmemq shmemq, ShmemqError *const error_ptr)
|
|||
}
|
||||
|
||||
shmemq->buffer->header.read_frame_index = 0;
|
||||
shmemq->buffer->header.jumped = false;
|
||||
}
|
||||
|
|
|
@ -34,7 +34,7 @@ int main()
|
|||
assert(error == SHMEMQ_ERROR_NONE);
|
||||
}
|
||||
|
||||
for (unsigned i = 0; i < 10; ++i) {
|
||||
for (unsigned i = 0; i < 9; ++i) {
|
||||
const ShmemqFrame frame = shmemq_push_start(producer);
|
||||
assert(frame != NULL);
|
||||
|
||||
|
|
Loading…
Reference in New Issue