From b6f8bcca6a8c91ee3ed465c208ee80976d02e2cb Mon Sep 17 00:00:00 2001 From: Norman Feske Date: Wed, 11 Jun 2014 20:24:25 +0200 Subject: [PATCH] os: Add Input::Event_queue::reset function Resetting the input-event queue is useful for error handling. Issue #1185 --- repos/os/include/input/event_queue.h | 2 ++ repos/os/include/os/ring_buffer.h | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/repos/os/include/input/event_queue.h b/repos/os/include/input/event_queue.h index 262de0984..5e0195e5f 100644 --- a/repos/os/include/input/event_queue.h +++ b/repos/os/include/input/event_queue.h @@ -78,6 +78,8 @@ class Input::Event_queue bool empty() const { return _queue.empty(); } int avail_capacity() const { return _queue.avail_capacity(); } + + void reset() { _queue.reset(); } }; #endif /* _EVENT_QUEUE_H_ */ diff --git a/repos/os/include/os/ring_buffer.h b/repos/os/include/os/ring_buffer.h index da552f191..d4b6b0288 100644 --- a/repos/os/include/os/ring_buffer.h +++ b/repos/os/include/os/ring_buffer.h @@ -132,6 +132,11 @@ class Ring_buffer else return _tail - _head - 1; } + + /** + * Discard all ring-buffer elements + */ + void reset() { _head = _tail; } }; #endif /* _INCLUDE__OS__RING_BUFFER_H_ */