From c5931529675a863e7173635c5f8779f78b3940e2 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Mon, 30 Jun 2008 02:42:59 +0000 Subject: ringbuf: add thread-safe, thread-specific reset functions This will allow both the reader and writer threads to reset the ringbuffer in a thread-safe fashion. git-svn-id: https://svn.musicpd.org/mpd/trunk@7390 09075e82-0dd4-0310-85a5-a0d7c8717e4f --- src/ringbuf.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src/ringbuf.c') diff --git a/src/ringbuf.c b/src/ringbuf.c index 569a70757..ed46c3beb 100644 --- a/src/ringbuf.c +++ b/src/ringbuf.c @@ -62,6 +62,18 @@ void ringbuf_reset(struct ringbuf * rb) rb->write_ptr = 0; } +/* Reset the read and write pointers, thread-safe iff called only by writer */ +void ringbuf_writer_reset(struct ringbuf * rb) +{ + rb->write_ptr = rb->read_ptr; +} + +/* Reset the read and write pointers, thread-safe iff called only by reader */ +void ringbuf_reader_reset(struct ringbuf * rb) +{ + rb->read_ptr = rb->write_ptr; +} + /* * Return the number of bytes available for reading. This is the * number of bytes in front of the read pointer and behind the write -- cgit v1.2.3