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

Lines changed: 1 addition & 1 deletion
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

Lines changed: 8 additions & 0 deletions
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

Lines changed: 9 additions & 0 deletions
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)