mirror of https://github.com/ARMmbed/mbed-os.git
Merge pull request #7890 from deepikabhavnani/cb_issue_7701
Circular buffer should use conditional statement instead of modulopull/8274/head
commit
4403a561b3
|
@ -92,10 +92,14 @@ public:
|
|||
core_util_critical_section_enter();
|
||||
if (full()) {
|
||||
_tail++;
|
||||
_tail %= BufferSize;
|
||||
if (_tail == BufferSize) {
|
||||
_tail = 0;
|
||||
}
|
||||
}
|
||||
_pool[_head++] = data;
|
||||
_head %= BufferSize;
|
||||
if (_head == BufferSize) {
|
||||
_head = 0;
|
||||
}
|
||||
if (_head == _tail) {
|
||||
_full = true;
|
||||
}
|
||||
|
@ -113,7 +117,9 @@ public:
|
|||
core_util_critical_section_enter();
|
||||
if (!empty()) {
|
||||
data = _pool[_tail++];
|
||||
_tail %= BufferSize;
|
||||
if (_tail == BufferSize) {
|
||||
_tail = 0;
|
||||
}
|
||||
_full = false;
|
||||
data_popped = true;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue