Commit Graph

206 Commits

Author SHA1 Message Date
erenon
e2426c4f73 spsc_queue: implement pop() in terms of consume_one(noop) instead of dedicated method 2014-06-25 19:16:08 +02:00
erenon
f80f3b346e spsc_queue: add assert read_available > 0 to front() 2014-06-25 19:16:08 +02:00
erenon
73a1cdd128 spsc_queue.hpp: slightly improved comments 2014-06-25 19:16:08 +02:00
erenon
66dae3a792 add T& front() and void pop() capabilities to spsc_queue 2014-06-25 19:16:08 +02:00
Tim Blechmann
38ea6b082b jam file fix 2014-04-09 19:20:54 +02:00
Tim Blechmann
8ffc9b3f26 Merge branch 'develop' 2014-03-26 14:07:13 +01:00
Tim Blechmann
3c0a62d6df lockfree: consume_via_copy - fix compiler warning 2014-03-26 14:07:04 +01:00
Tim Blechmann
7f09398089 Merge remote-tracking branch 'origin/develop' 2014-02-26 12:58:58 +01:00
Tim Blechmann
970f62b601 introduce macro to force the use of std::atomic 2014-01-23 17:51:07 +01:00
Tim Blechmann
2ddde1da7a atomic: detail - use BOOST_GCC macro 2013-12-07 15:47:06 +01:00
Tim Blechmann
5afa6c397d spsc_queue: change consume functions to call functor in-place 2013-12-04 16:32:59 +01:00
Tim Blechmann
5600cfecc0 spsc_queue - use correct size type 2013-12-01 11:59:36 +01:00
Tim Blechmann
c170f2ed9a lockfree: spsc_queue - call destructors on reset()
[SVN r86737]
2013-11-17 10:50:09 +00:00
Tim Blechmann
da5ec85778 lockfree: spsc-queue - add read_available and write_available members
[SVN r86736]
2013-11-17 10:49:47 +00:00
Tim Blechmann
cb634fb452 lockfree: make use of pragma once
[SVN r86496]
2013-10-28 10:06:05 +00:00
Tim Blechmann
577fc435b1 lockfree: use BOOST_DELETED_FUNCTION
[SVN r86495]
2013-10-28 10:05:52 +00:00
Tim Blechmann
6276d4fe91 lockfree: merge fixes from trunk
[SVN r86299]
2013-10-14 13:20:34 +00:00
Tim Blechmann
8581238d37 lockfree: silence msvc warnings
[SVN r85649]
2013-09-11 15:01:36 +00:00
Tim Blechmann
4663348be0 lockfree: use lock_guard instead of the deprecated boost::mutex::scoped_lock
fixes #8838

[SVN r85196]
2013-08-03 09:08:32 +00:00
Tim Blechmann
e78d459c11 lockfree: merge changes from trunk
[SVN r85192]
2013-08-02 17:09:29 +00:00
Tim Blechmann
f65fff6d78 lockfree: spsc_queue - compile fix
[SVN r85071]
2013-07-17 22:14:12 +00:00
Tim Blechmann
d4a7d513e2 lockfree: compile fix
fixes #8829

[SVN r85070]
2013-07-17 22:13:47 +00:00
Tim Blechmann
7a9d7adcb4 lockfree: spsc_queue - avoid duplicate code
Signed-off-by: Tim Blechmann <tim@klingt.org>

[SVN r85014]
2013-07-12 17:48:55 +00:00
Tim Blechmann
21e18f295c lockfree: stack - avoid temporary copy when consuming via functor
Signed-off-by: Tim Blechmann <tim@klingt.org>

[SVN r85013]
2013-07-12 17:48:35 +00:00
Tim Blechmann
a9f7746590 lockfree: spsc_queue - declare constant variables as const
[SVN r85012]
2013-07-12 17:48:06 +00:00
Tim Blechmann
3c9a47b2b2 lockfree: spsc queue - use std::copy if possible
[SVN r85011]
2013-07-12 17:47:42 +00:00
Tim Blechmann
3568d7b139 lockfree: spsc_queue - use raw storage
[SVN r85010]
2013-07-12 17:46:42 +00:00
Tim Blechmann
cbdf436c1a lockfree: merge fixes from trunk
[SVN r84886]
2013-06-23 16:48:26 +00:00
Tim Blechmann
cb0e83a11d lockfree: spsc_queue - fix allocation (2)
[SVN r84844]
2013-06-20 09:57:33 +00:00
Tim Blechmann
ebac6bd895 lockfree: spsc_queue - fix allocation
[SVN r84843]
2013-06-20 09:28:04 +00:00
Tim Blechmann
45df1ace63 lockfree: merge fixes from trunk
[SVN r84742]
2013-06-11 14:50:59 +00:00
Tim Blechmann
85fd0b1356 lockfree: explicitly use bitmask to prevent aba tag overflow
workaround for msvc run-time check failure

[SVN r84723]
2013-06-10 12:31:38 +00:00
Tim Blechmann
b6b03e3c1d lockfree: merge fixes from trunk
[SVN r84630]
2013-06-04 09:28:15 +00:00
Tim Blechmann
d9f89ec5c9 lockfree: prevent warnings for unused arguments
Signed-off-by: Tim Blechmann <tim@klingt.org>

[SVN r84618]
2013-06-03 09:48:47 +00:00
Tim Blechmann
4c3822a805 lockfree: spsc-queue - correct dequeue to output iterator
fixes #8629

Signed-off-by: Tim Blechmann <tim@klingt.org>

[SVN r84571]
2013-05-31 07:58:13 +00:00
Tim Blechmann
f46c1401c3 lockfree: merge (delete & copy) changes from trunk
[SVN r84455]
2013-05-24 06:53:51 +00:00
Tim Blechmann
2cb5426233 lockfree: merge fixes from trunk
[SVN r84454]
2013-05-24 06:39:07 +00:00
Tim Blechmann
b6c2f7cf1e lockfree: fix stack::reserve
[SVN r84403]
2013-05-21 15:24:20 +00:00
Tim Blechmann
0fc76baa61 lockfree: merge fixes from trunk
[SVN r84401]
2013-05-21 10:26:57 +00:00
Tim Blechmann
65cb3432d1 lockfree: spsc-queue - capacity should take the internal marker object into account
fixes #8560

[SVN r84387]
2013-05-20 09:28:56 +00:00
Tim Blechmann
071b07d817 lockfree: don't pollute public namespace
[SVN r84287]
2013-05-15 06:12:14 +00:00
Tim Blechmann
f825ae5d11 lockfree: merge changes from trunk
[SVN r83540]
2013-03-24 13:08:34 +00:00
Tim Blechmann
f46c57e213 lockfree: arm compile fix
[SVN r83472]
2013-03-17 14:03:16 +00:00
Tim Blechmann
a3efabf5bd lockfree: msvc compile fix
[SVN r83364]
2013-03-08 15:28:36 +00:00
Tim Blechmann
421e9d8c2c lockfree: testsuite - possible compile fix for IBM compiler
[SVN r83277]
2013-03-03 13:18:31 +00:00
Tim Blechmann
7388036785 lockfree: testsuite - move stress tests to separate file
[SVN r83276]
2013-03-03 13:13:01 +00:00
Tim Blechmann
e8e89220f6 lockfree: introduce consume_one and consume_all methods
[SVN r83275]
2013-03-03 13:07:50 +00:00
Tim Blechmann
d656c827ab lockfree: cleanup - use deleted functions if available
[SVN r83268]
2013-03-03 11:32:56 +00:00
Tim Blechmann
c0b697ad26 lockfree: queue - allocate one element more than required
the queue internally uses a dummy node, which is not user-visible.
therefore we should allocate one element more than needed

fixes #8135



[SVN r83079]
2013-02-22 09:55:20 +00:00
Tim Blechmann
83d6c57671 lockfree: merge static assertions from trunk
[SVN r82597]
2013-01-24 16:11:25 +00:00