forked from amir/filehasher
Bug fixes in lock free MPMC queue
Fix bug slots used before initialization,compare and swap is protecting updating committed, but it is not protecting the memory initialization. Adding atomic_flag commit_lock to protect against that Fix bug multiple threads committing at the same time, fixed by using atomic_flag commit_lock and re-checking committed after acquiring the lock Reorder helper functions
This commit is contained in:
@@ -8,8 +8,12 @@ v2.1: Uses AVX2 instead of SSE2
|
||||
v3.0: Simple mutex/critical section based MPMC queue
|
||||
reusable hashing buffer
|
||||
|
||||
v3.1: Lock free MPMC queue
|
||||
v3.1: Lock free MPMC queue Vyukov-style
|
||||
|
||||
v3.2: Making the lock free MPMC queue growable
|
||||
Add padding to avoir false sharing
|
||||
Add sleep() and SwitchToThread() to limit spinning
|
||||
|
||||
v3.3: Fix bug slots used before initialization,compare and swap is protecting updating committed, but it is not protecting the memory initialization. Adding atomic_flag commit_lock to protect against that
|
||||
Fix bug multiple threads committing at the same time, fixed by using atomic_flag commit_lock and re-checking committed after acquiring the lock
|
||||
Reorder helper functions
|
||||
|
||||
Reference in New Issue
Block a user