aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/erl_thr_queue.c
AgeCommit message (Collapse)Author
2015-06-18Change license text to APLv2Bruce Yinhe
2013-02-22Update copyright yearsBjörn-Egil Dahlberg
2013-02-21Fix lost enqueue notificationRickard Green
2013-02-21Use dirty read instead of union which can be unsafe on some platformsRickard Green
2012-06-18Fix faulty use of thread progress in handle_aux_work()Rickard Green
As an optimization old thread progress data was kept and used in handle_aux_work() in erl_process.c. This could cause memory to be deallocated at a later time than intended, which is quite harmless. This has, however, now been fixed.
2012-02-19Misc memory barrier fixesRickard Green
- Document barrier semantics - Introduce ddrb suffix on atomic ops - Barrier macros for both non-SMP and SMP case - Make the thread progress API a bit more intuitive
2011-12-07Fix cleanup of elements in lock-free queuesRickard Green
2011-11-13Implement generic lock-free queueRickard Green
The implementation of an ERTS internal, generic, many to one, lock-free queue for communication between threads. The many to one scenario is very common in ERTS, so it can be used in a lot of places in the future. Changing to this queue from a lock based queue, however, often requires some redesigning. This since we have often used the lock of the queue to protect other information too.