Explorar o código

Kernel: DoubleBuffer can return early if read/write is called with !size.

Andreas Kling %!s(int64=6) %!d(string=hai) anos
pai
achega
a02c945ef2
Modificáronse 1 ficheiros con 4 adicións e 0 borrados
  1. 4 0
      Kernel/DoubleBuffer.cpp

+ 4 - 0
Kernel/DoubleBuffer.cpp

@@ -19,6 +19,8 @@ void DoubleBuffer::flip()
 
 ssize_t DoubleBuffer::write(const byte* data, ssize_t size)
 {
+    if (!size)
+        return 0;
     LOCKER(m_lock);
     m_write_buffer->append(data, size);
     compute_emptiness();
@@ -27,6 +29,8 @@ ssize_t DoubleBuffer::write(const byte* data, ssize_t size)
 
 ssize_t DoubleBuffer::read(byte* data, ssize_t size)
 {
+    if (!size)
+        return 0;
     LOCKER(m_lock);
     if (m_read_buffer_index >= m_read_buffer->size() && !m_write_buffer->is_empty())
         flip();