Cameron
3e72a150ac
Tentative fix for use-after-free in thread exit notification linked list, and for race between thread exit and thread exit unsubscription (see #288 )
2022-03-13 10:15:51 -04:00
Cameron
d3a1e7542b
Added test that churns implicit producer threds (relates to #288 )
2022-03-12 13:55:21 -05:00
Cameron
a15a7236e9
Made implicit producers free dynamically allocated blocks all the way back to the heap by default (see issue #279 )
2022-01-25 22:26:49 -05:00
Charles-Francois Natali
14838d1f6f
Make is_lock_free constexpr.
...
This makes it possible to use it in `static_assert`, which is better
than a runtime error.
2021-11-24 13:50:39 +00:00
Kevin Sucre
cc07642708
updated g++, msvc projects to not have exceptions for the new cpp files
...
- fixes memory leaks
2020-10-06 11:30:01 -06:00
Kevin Sucre
7854f607f2
adding unit tests
2020-10-06 10:44:27 -06:00
Cameron
4948767e8d
Added missing include for recent versions of MSVC
2020-09-11 16:10:45 -04:00
Cameron
9cfda6cc61
Fixed VS2019 /W4 warnings with and without C++17 language suport (issue #211 )
2020-07-11 12:20:21 -04:00
Cameron
0b410f5edf
Fixed CDSChecker tests (only enqueue from one thread; updated memory ordering to match real queue and fix races; removed invalid assertion; updated makefile to run without bound instead of stopping after 4 executions) (issue #184 )
2020-02-09 12:23:47 -05:00
Cameron
52919ed7e1
Removed check for lock-freedom on ARM since std::atomic<size_t> is not always lock-free (uses LL-SC instead) (issue #186 )
2020-02-09 10:17:24 -05:00
Cameron
4abab7d4f7
Attempt to fix warnings and errors when compiling for Raspberry Pi (issue #185 )
2020-02-04 21:28:17 -05:00
Cameron
ba571c3d81
Reduced alignment in test to work around GCC limitations (should fix #178 )
2020-01-02 12:20:26 -05:00
Cameron
4649e6885a
Finished integration of super-aligned element support and added a test
2019-12-27 23:51:26 -05:00
Cameron
207f91271f
Merge branch 'split_out_semaphores2' of https://github.com/zerodefect/concurrentqueue into zerodefect-split_out_semaphores2
2019-12-27 22:26:06 -05:00
Cameron
5f57c9f588
Updated to latest version of Relacy and fixed incompatibility with GCC 5+ (tests still pass) (issue #102 )
2019-12-27 20:10:05 -05:00
Cameron
ffda5a47ff
Fixed placement of declaration so that size_t is defined when used
2019-08-20 13:17:36 -04:00
Cameron
7e3ad876fc
Fixed compile error in VS2017+ when combining placement new on nullptr in a noexcept expression with overloads of the new operator [issue #162 ]
2019-08-01 14:20:24 -04:00
Cameron
6282b369b4
Added unit test
2019-08-01 14:20:24 -04:00
Cameron
3e0eac9b7a
Oops, placed defines after including headers. Tests still compile though
2018-03-01 17:11:05 -05:00
Cameron
02f36545c5
Allow likely/unlikely macros to co-exist without causing compile errors (issue #108 )
2018-03-01 16:28:59 -05:00
zerodefect
25d41bbef4
Tweaked final lines for tabs/spaces.
2017-11-02 20:45:24 +00:00
zerodefect
59cbdbb76f
Tweaked final lines for tabs/spaces.
2017-11-02 20:43:33 +00:00
zerodefect
7a7981477d
Tweaked final lines for tabs/spaces.
2017-11-02 20:38:41 +00:00
zerodefect
a30a4fb451
Replaced spaces with tabs for indentations to keep consistency.
2017-11-02 20:32:37 +00:00
zerodefect
5bf4a026f8
Several changes made as per code-review.
2017-11-01 20:34:31 +00:00
zerodefect
5cfe6118c0
moved semaphore into a separate header file.
2017-11-01 20:34:11 +00:00
Cameron
0bc97ad4ae
Don't use thread_local on ARM (this may degrade performance on non-Apple platforms when using implicit producers, but it seems not to be fully supported). See issue #42
2016-06-06 13:08:56 -04:00
Cameron
f52be57f2f
Added unit test for timed waits (all seems well so far!) -- see issues #22 and #38
2016-05-10 23:12:52 -04:00
Cameron
d32bd47f43
Added more checks for accidental copying when moving is desired (tests still pass). See issue #45
2016-04-04 17:37:36 -04:00
Christoffer Ahlbin
da2e413dd8
Support running unit tests on iOS device
...
Added a minimal Xcode project with a iOS Application target that
provides a minimal UIApplicationDelegate that can host / run the unit
tests.
The target is intentionally setup as an "Application"-type target rather
than an XCTest bundle as it is generally easier to run application
targets on device (vs iOS Simulator).
Explicitly enabled build settings:
Release configuration: NDEBUG=1
The commited shared .xcscheme is set to build and tests in Release.
2016-01-27 22:11:41 +01:00
Samuel Neves
f8fbf34c21
Prevent surrogate call ambiguity
2016-01-24 15:45:55 +00:00
Cameron
a951473283
Allow malloc() and free() macros to be defined without breaking code (issue #27 )
2015-09-11 14:25:22 -04:00
Cameron
317a67b28a
Fixed build and failing unit tests under VS2012 (related to issue #18/pull #19 )
2015-05-20 19:03:38 -04:00
Cameron
18728dda5c
Got blocking queue compiling under VS2013
2015-04-10 23:03:02 -04:00
cameron314
d3735b5b7a
Added blocking version of queue
2015-04-08 20:09:19 -04:00
cameron314
b9b4646d62
Small makefile tweak
2015-03-09 22:09:36 -04:00
cameron314
d3ca98ea59
Added more Relacy-based integration tests, one of which found a bug in the explicit producer destructor that could cause destructors to be called on already-destructed objects (this should fix issue #13 )
2015-03-09 20:11:38 -04:00
cameron314
ed902c9387
Added more Relacy integration tests, passing so far
2015-03-04 23:07:48 -05:00
cameron314
01f420d7cc
Added support for testing entire queue as a whole under Relacy -- relacy integration test is currently failing
2015-02-28 18:50:47 -05:00
cameron314
295f0ec2be
Added test using std::string in hopes of triggering crash to reproduce issue #13 (no repro so far with MinGW)
2015-02-11 22:55:18 -05:00
Cameron
67b59703b8
Fixed small bugs in latest unit test
2014-12-23 07:46:58 +00:00
cameron314
e53f28cb38
Added support for recycling implicit producers once the thread they're associated to has exited
2014-12-23 01:37:45 -05:00
cameron314
ba76344b46
Added test for maximum producer size limit trait, and fixed missing parenthese around arithmetic for it (completes issue #4 )
2014-12-02 19:34:09 -05:00
Cameron
990af3c98b
Fixed bug in unit test that was causing it to fail on MSVC (it worked by coincidence with GCC)
2014-11-28 18:47:40 -05:00
Cameron
d5baf53a41
Fixed max_align_t once and for all
2014-11-28 13:16:16 -05:00
cameron314
1024146ea9
Fixed MSVC/MinGW NOMINMAX incompatibility
2014-11-28 08:33:31 -05:00
cameron314
47327c81ff
Attempting to get both msvc and g++ to be happy with max_align_t
2014-11-28 01:02:22 -05:00
Cameron
26eac1568d
Added VS2013 solution and projects, and fixed related errors and warnings (though unit test for exceptions does not pass under MSVC yet)
2014-11-28 00:55:04 -05:00
cameron314
cc6611d4bc
Now exception safe (issue #5 ), and fixed producer/consumer samples
2014-11-27 22:18:56 -05:00
cameron314
3f117fdf64
Proper fix for issue #3 (last one didn't compile!
2014-11-12 06:54:17 -05:00