diff options
| author | rtthread-bot <[email protected]> | 2021-07-30 16:26:31 +0000 |
|---|---|---|
| committer | rtthread-bot <[email protected]> | 2021-07-30 16:26:31 +0000 |
| commit | 26acd64cb1f215bcf2d5b644f18c25c6a69aecd1 (patch) | |
| tree | 3708fbfbf6295a5ec8a9eb83188666db173da206 /components | |
| parent | d57caa7e157dcdfe6fe3fbc238df20889627b503 (diff) | |
| parent | 08bcc566b7bc2ece9a25a9cd76709c96a5437857 (diff) | |
Merge remote-tracking branch 'rtt_gitee/gitee_master'
Diffstat (limited to 'components')
| -rw-r--r-- | components/drivers/src/ringbuffer.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/components/drivers/src/ringbuffer.c b/components/drivers/src/ringbuffer.c index 29de20b087..f01a594609 100644 --- a/components/drivers/src/ringbuffer.c +++ b/components/drivers/src/ringbuffer.c @@ -8,6 +8,7 @@ * 2012-09-30 Bernard first version. * 2013-05-08 Grissiom reimplement * 2016-08-18 heyuanjie add interface + * 2021-07-20 arminker fix write_index bug in function rt_ringbuffer_put_force */ #include <rtthread.h> @@ -138,7 +139,8 @@ rt_size_t rt_ringbuffer_put_force(struct rt_ringbuffer *rb, if (length > space_length) { - rb->read_mirror = ~rb->read_mirror; + if (rb->write_index <= rb->read_index) + rb->read_mirror = ~rb->read_mirror; rb->read_index = rb->write_index; } |
