Commit Graph

27 Commits

Author SHA1 Message Date
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