Diff for /libelwix/src/ring.c between versions 1.1.2.2 and 1.1.2.3

version 1.1.2.2, 2025/09/26 09:22:24 version 1.1.2.3, 2025/09/26 10:00:46
Line 161  rbuf_enqueue(ringbuf_t *rbuf, void *data, size_t len) Line 161  rbuf_enqueue(ringbuf_t *rbuf, void *data, size_t len)
         int h, t, n;          int h, t, n;
         struct iovec *iov;          struct iovec *iov;
   
        if (!rbuf)        if (!rbuf || !rbuf->rb_buffer)
                 return -1;                  return -1;
   
         h = atomic_load_explicit(&rbuf->rb_head, memory_order_relaxed);          h = atomic_load_explicit(&rbuf->rb_head, memory_order_relaxed);
Line 191  rbuf_dequeue(ringbuf_t *rbuf, struct iovec *out) Line 191  rbuf_dequeue(ringbuf_t *rbuf, struct iovec *out)
 {  {
         int h, t, n;          int h, t, n;
   
        if (!rbuf)        if (!rbuf || !rbuf->rb_buffer)
                 return -1;                  return -1;
   
         h = atomic_load_explicit(&rbuf->rb_head, memory_order_acquire);          h = atomic_load_explicit(&rbuf->rb_head, memory_order_acquire);
Line 202  rbuf_dequeue(ringbuf_t *rbuf, struct iovec *out) Line 202  rbuf_dequeue(ringbuf_t *rbuf, struct iovec *out)
                 return 1;                  return 1;
   
         if (out)          if (out)
                out = rbuf->rb_buffer + t;                *out = rbuf->rb_buffer[t];
   
         atomic_store_explicit(&rbuf->rb_tail, n, memory_order_release);          atomic_store_explicit(&rbuf->rb_tail, n, memory_order_release);
         return 0;          return 0;

Removed from v.1.1.2.2  
changed lines
  Added in v.1.1.2.3


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>