version 1.3, 2025/09/26 16:01:58
|
version 1.3.2.1, 2025/09/30 11:33:20
|
Line 189 rbuf_enqueue(ringbuf_t *rbuf, void *data, size_t len)
|
Line 189 rbuf_enqueue(ringbuf_t *rbuf, void *data, size_t len)
|
* return: -1 error, 1 buffer is empty or 0 ok |
* return: -1 error, 1 buffer is empty or 0 ok |
*/ |
*/ |
int |
int |
rbuf_dequeue(ringbuf_t *rbuf, struct iovec *out) | rbuf_dequeue(ringbuf_t *rbuf, struct iovec **out) |
{ |
{ |
int h, t, n; |
int h, t, n; |
|
|
Line 206 rbuf_dequeue(ringbuf_t *rbuf, struct iovec *out)
|
Line 206 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((atomic_int*) &rbuf->rb_tail, n, memory_order_release); |
atomic_store_explicit((atomic_int*) &rbuf->rb_tail, n, memory_order_release); |
return 0; |
return 0; |