Skip to content

Commit 29fb6de

Browse files
committed
Add a lock-free ring buffer with shared memory
1 parent 937dfef commit 29fb6de

File tree

4 files changed

+455
-1
lines changed

4 files changed

+455
-1
lines changed

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
- [channel](channel/): A Linux futex based Go channel implementation.
1515
- [redirect](redirect/): An I/O multiplexer to monitor stdin redirect using `timerfd` and `epoll`.
1616
- [rcu\_list](rcu_list/): A concurrent linked list utilizing the simplified RCU algorithm.
17-
17+
- [ringbuf\_shm](ringbuf_shm/): An optimized lock-free ring buffer with shared memory.
1818

1919
## License
2020

ringbuf-shm/Makefile

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
all:
2+
$(CC) -Wall -std=gnu11 -o ringbuffer ringbuffer.c -lpthread -lrt
3+
4+
clean:
5+
rm -f ringbuffer
6+
7+
indent:
8+
clang-format -i ringbuffer.c

ringbuf-shm/README.md

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# `ringbuf_shm`
2+
3+
A lock-free ring buffer with shared memory.
4+
5+
### Properties
6+
7+
* Allow variably sized chunks
8+
* Support contiguous memory chunks
9+
* Support zero copy operation

0 commit comments

Comments
 (0)