4747b649fd
build: address clang-tidy errors
2021-04-20 12:10:53 +10:00
0977fb89b3
debug/assert: don't use iostream
2021-04-12 16:56:06 +10:00
e8f23a349e
thread: remove thread, mutex, and condition_variable wrappers
...
These are no longer needed as we required MinGW with PThreads support.
2020-08-03 11:21:29 +10:00
837b948435
Header cleanup using include-what-you-use
2020-07-01 17:02:44 +10:00
fb13c0fb0f
job/dispatch: explicitly specify the dispatchable region
2020-03-12 12:45:45 +11:00
01094611eb
thread: add minimal thread primitives for win32
...
This allows us to get around the lack of these types under MinGW
2019-06-22 15:46:34 +10:00
39107bb62c
job/queue: avoid noexcept termination in default_parallelism
2019-04-15 10:35:49 +10:00
e5e47ffb24
parse: move si and value parsing into common namespace
2019-03-19 12:38:22 +11:00
4a73a3cea7
job/dispatch: add index uniqueness test
2019-03-08 09:42:15 +11:00
e0f4fdc308
job/queue: expose default_parallelism query
2019-03-08 09:41:44 +11:00
5fedbdbdfe
parse: change parsing functions to modify the data view
2018-12-16 13:26:48 +11:00
b60aaccf6f
build; fix compilation errors under win32
...
win32 builds are still totally unsupported, untested, and functionally
broken.
2018-08-13 14:52:40 +10:00
f6056153e3
rename root namespace from util to cruft
...
This places, at long last, the core library code into the same namespace
as the extended library code.
2018-08-05 14:42:02 +10:00
803acc9a87
relicense under MPL-2.0
2018-08-04 15:14:06 +10:00
503ed940ac
job/queue: add move assignment operator for cookie
2018-07-24 15:48:03 +10:00
ba0eabc848
job/queue: restrict job release lambda's parameters
2018-06-18 14:01:06 +10:00
e9d5909f21
scoped: eliminate the raii header
2018-06-13 15:43:01 +10:00
497d3ca970
build: update for gcc-8.1 warnings
2018-05-03 18:32:08 +10:00
62920f36f4
job/dispatch: retain the supplied function if forwarded to us
2018-03-27 16:20:56 +11:00
45fa54a5ee
job/dispatch: don't unconditionally cast parameters
2018-03-27 16:16:35 +11:00
d941188dd5
job/queue: add default constructor
2018-03-27 16:16:13 +11:00
3409d39fc9
job/dispatch: add chunked image job queueing
2018-03-23 16:59:09 +11:00
36f4ba035c
thread: rename thread primitives from job namespace
2018-03-23 14:10:20 +11:00
2d7e3e5d7d
build: prefer iosfwd over iostream
2018-03-22 16:11:13 +11:00
9bfefb3dab
job/queue: use a reaper thread to clear finished tasks
...
clearing the tasks on the worker threads can cause the queue to stall
while the cookie is notified, released, and deleted. we punt the cleanup
off to a reaper thread so that the workers can continue.
2018-03-22 14:59:03 +11:00
53255ca4a0
job/semaphore: add multi-release
2018-03-22 13:39:16 +11:00
848b9951e8
job/semaphore: add multi-acquire
2018-03-22 13:37:28 +11:00
e120540bb9
job: add forward declarations
2018-03-20 15:01:23 +11:00
e1d87afe37
spinlock: prefer weak xchg when spinning
2018-03-15 23:48:50 +11:00
12d401b98b
tuple/variadic: split into type/value/pack operations
2018-03-15 23:48:21 +11:00
f3f3666877
job/queue: rework locking for reliability
2018-03-15 15:25:19 +11:00
0c824919de
job/monitor: add simple monitor adapter
2018-03-15 15:25:18 +11:00
c9dea18881
job/semaphore: add a basic semaphore implementation
2018-03-15 15:25:14 +11:00
4154066a0e
job/ticketlock: add a trivial ticketlock
2018-03-15 15:23:43 +11:00
f04e6e4de5
job/spinlock: add simple spinlock implementation
2018-03-15 15:23:43 +11:00
3a26a98db7
job/flag: add a one off event object
2018-03-15 15:23:43 +11:00
1fd58c8967
job/event: a simple reusable edge triggered event
2018-03-15 15:23:43 +11:00
8f6af0f837
job/queue: make single argument constructor explicit
2017-08-24 17:53:27 +10:00
21f462d4a0
job/queue: don't use references for parameters
...
references aren't trivial types. we should support them soon, but this
gets us up and running faster.
2017-07-04 14:18:45 +10:00
320fe6c378
job/queue: add trivial job queuing system
2017-07-03 17:05:01 +10:00