more tests + ensure not blocking writers if the ringbuffer has been fully read