You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Observed result or behaviour:
Assuming the following scenario:
capacity is 1 (underlying buffer capacity is 2)
queue is full
pop loads write position
producer does an overflowing push
pop loads read position
read and write position are equal -> empty
Theoretically, this can happen for each pop operation if the push frequency is high enough. It can also happen for larger capacities but the probability is not as hight since the producer has to push more often within the window of the two load operations in pop
Expected result or behaviour:
The queue should detect the race and repeat the pop operation until it is successful if the queue is not empty.
Conditions where it occurred / Performed steps:
See Observed result or behaviour
The text was updated successfully, but these errors were encountered:
Required information
Operating system:
all
Rust version:
all
Cargo version:
all
iceoryx2 version:
main
branchObserved result or behaviour:
Assuming the following scenario:
pop
loads write positionpop
loads read positionTheoretically, this can happen for each
pop
operation if thepush
frequency is high enough. It can also happen for larger capacities but the probability is not as hight since the producer has to push more often within the window of the two load operations inpop
Expected result or behaviour:
The queue should detect the race and repeat the pop operation until it is successful if the queue is not empty.
Conditions where it occurred / Performed steps:
See
Observed result or behaviour
The text was updated successfully, but these errors were encountered: