Skip to content

Commit b34b773

Browse files
committed
Add concurrent linked list utilizing Hazard Pointer
1 parent 3e60e78 commit b34b773

File tree

4 files changed

+404
-0
lines changed

4 files changed

+404
-0
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ tinync/tinync
2020
tpool/tpool
2121
list-move/bench-lock
2222
list-move/bench-lockfree
23+
hp_list/list
2324

2425
# external source files
2526
preempt_sched/list.h

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ purpose of these programs is to be illustrative and educational.
2121
- [ringbuf\_shm](ringbuf-shm/): An optimized lock-free ring buffer with shared memory.
2222
- [mbus](mbus/): A concurrent message bus.
2323
* [Synchronization](https://en.wikipedia.org/wiki/Synchronization_(computer_science))
24+
- [hp\_list](hp_list): A concurrent linked list utilizing Hazard Pointers.
2425
- [rcu\_list](rcu_list/): A concurrent linked list utilizing the simplified RCU algorithm.
2526
- [qsbr](qsbr/): An implementation of Quiescent state based reclamation (QSBR).
2627
- [list-move](list-move/): Evaluation of two concurrent linked lists: QSBR and lock-based.

hp_list/Makefile

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
all:
2+
$(CC) -Wall -o list main.c -lpthread -g -fsanitize=thread
3+
4+
indent:
5+
clang-format -i *.[ch]
6+
7+
clean:
8+
rm -f list

0 commit comments

Comments
 (0)