Jason Volk
|
d2fbc30d4e
|
ircd::ctx: Use better notify member here.
|
2018-09-18 21:41:21 -07:00 |
|
Jason Volk
|
be7a20d39a
|
ircd::ctx: Move any renotifying to the ctx::dock itself.
|
2018-09-18 21:35:27 -07:00 |
|
Jason Volk
|
3b960d2576
|
ircd: Add misc assertions.
|
2018-09-18 21:24:19 -07:00 |
|
Jason Volk
|
5698637dd6
|
ircd::ctx::pool: Use ctx::queue for pool's queue.
|
2018-09-18 16:45:04 -07:00 |
|
Jason Volk
|
a66c312c92
|
ircd::ctx::queue: Renotify the dock on context interruption, then propagate.
|
2018-09-18 16:43:50 -07:00 |
|
Jason Volk
|
7d94b1c17b
|
ircd: Relax noexcept in std::function template declarations.
|
2018-09-13 05:12:25 -07:00 |
|
Jason Volk
|
5e06c4795b
|
ircd: Replace any std::uncaught_exception() -> std::uncaught_exceptions().
|
2018-09-13 05:02:24 -07:00 |
|
Jason Volk
|
5f9c12bddc
|
ircd::ctx: Break down when() templates; fix mutability.
|
2018-08-30 21:20:43 -07:00 |
|
Jason Volk
|
4b2ff18f6c
|
ircd::ctx: Add ADL'ed state() convenience for promise template.
|
2018-08-30 19:53:16 -07:00 |
|
Jason Volk
|
0f2dd85a47
|
ircd::ctx: Disable interrupt for the view producer sequence.
|
2018-08-28 18:58:09 -07:00 |
|
Jason Volk
|
76e48b3ef3
|
ircd::ctx: Test for valid then() before calling from here.
|
2018-08-28 18:58:09 -07:00 |
|
Jason Volk
|
edbc0984c5
|
ircd::ctx: Linkage for default and move semantics of ctx::context.
|
2018-08-26 20:46:59 -07:00 |
|
Jason Volk
|
0eaa2fe211
|
ircd::ctx: Add motivation section to README.
|
2018-08-26 20:46:59 -07:00 |
|
Jason Volk
|
04175d62b2
|
ircd::ctx: Object semantics on unlock_guard<>.
|
2018-08-26 20:46:59 -07:00 |
|
Jason Volk
|
600a73d566
|
ircd::ctx: Add an upgrade_lock<> template.
|
2018-08-26 20:46:59 -07:00 |
|
Jason Volk
|
3a8f3c58de
|
ircd::ctx: Add some indicators on shared_mutex.
|
2018-08-26 18:01:12 -07:00 |
|
Jason Volk
|
26d062e3f7
|
ircd::ctx: Fix erroneous have-include guard here.
|
2018-08-26 17:19:53 -07:00 |
|
Jason Volk
|
6cdb1bba63
|
ircd::ctx: Add pool::set convenience.
|
2018-08-22 14:37:40 -07:00 |
|
Jason Volk
|
ff66bc441c
|
ircd::ctx: Stack uninterruptible's gracefully; assume context.
|
2018-08-19 20:11:41 -07:00 |
|
Jason Volk
|
f4a4674daa
|
ircd::ctx::pool: Add a terminate(); cleanup del().
|
2018-08-19 15:55:35 -07:00 |
|
Jason Volk
|
32c0d08928
|
ircd::ctx: Minor cleanup.
|
2018-08-19 15:53:10 -07:00 |
|
Jason Volk
|
0a822212e1
|
ircd::ctx: Add latch (concurrency TS).
|
2018-08-18 19:29:00 -07:00 |
|
Jason Volk
|
a33b4b05de
|
ircd::ctx: Proper condition variable exclusion semantics.
|
2018-08-17 13:30:04 -07:00 |
|
Jason Volk
|
83cbfea75d
|
ircd::ctx: Minor cleanup.
|
2018-08-15 08:21:03 -07:00 |
|
Jason Volk
|
668d12bf72
|
ircd::ctx: Fix future_state test grate.
|
2018-07-06 16:33:53 -07:00 |
|
Jason Volk
|
da5d767431
|
ircd::ctx: Fix pointer punning in promise / shared_state.
|
2018-07-06 00:26:34 -07:00 |
|
Jason Volk
|
b8aba99ed4
|
ircd::ctx: Assert release sequence is happening on ctx.
|
2018-06-01 12:36:46 -07:00 |
|
Jason Volk
|
f61d0a30ec
|
ircd::ctx: Add condition_variable for interface compat.
|
2018-06-01 12:36:46 -07:00 |
|
Jason Volk
|
2404e1adad
|
ircd::ctx: Add mutex::locked() to query if locked.
|
2018-06-01 07:48:23 -07:00 |
|
Jason Volk
|
5b52ac3103
|
ircd::ctx: Remove argument from continuation ctor.
|
2018-05-25 23:50:20 -07:00 |
|
Jason Volk
|
7e8ec1ca63
|
ircd::ctx: Support interrupt suppression; suite.
|
2018-05-22 00:22:56 -07:00 |
|
Jason Volk
|
e205755d5e
|
ircd::ctx: Add ctx::critical_indicator.
|
2018-05-07 12:38:24 -07:00 |
|
Jason Volk
|
e15ac0d1d3
|
ircd::ctx: Add state for counting context switches.
|
2018-05-07 12:36:33 -07:00 |
|
Jason Volk
|
48055cb276
|
ircd::ctx: Add special termination interruption to yanagiba the stack.
|
2018-05-06 02:06:08 -07:00 |
|
Jason Volk
|
1059688d02
|
ircd::ctx: Add state for stack usage profiling; clarify some interfaces.
|
2018-05-05 23:14:11 -07:00 |
|
Jason Volk
|
f55304e0a1
|
ircd::ctx: Add slice total counter; move check_stack after timing sample.
|
2018-05-05 22:42:25 -07:00 |
|
Jason Volk
|
ea42490b4e
|
ircd::ctx: Consolidate slice timing to tsc; add public interfacing.
|
2018-05-05 22:24:25 -07:00 |
|
Jason Volk
|
4cd0570d56
|
ircd::ctx: Resolve proper future::state() in when() templates.
|
2018-05-05 02:00:11 -07:00 |
|
Jason Volk
|
bcece15c54
|
ircd::ctx: Add README blerb on context switching.
|
2018-05-04 20:43:05 -07:00 |
|
Jason Volk
|
0f161f98e8
|
ircd::ctx::list: Fix misleading reference.
|
2018-04-28 03:26:07 -07:00 |
|
Jason Volk
|
dc5ac7c2ac
|
ircd::ctx: #ifdef away linkages for ctx assertions in NDEBUG builds.
|
2018-04-27 19:16:56 -07:00 |
|
Jason Volk
|
3fcb8a1236
|
ircd::ctx: Simplify promise notify continuation for now.
|
2018-04-27 19:09:26 -07:00 |
|
Jason Volk
|
09c282fd8e
|
ircd::ctx: Add stack_usage_assertion; move stack_usage_here() into this_ctx::.
|
2018-04-27 19:09:26 -07:00 |
|
Jason Volk
|
1dcfff91a5
|
ircd::ctx: Expose stack_max() to public interface.
|
2018-04-19 21:42:54 -07:00 |
|
Jason Volk
|
35a1c62b1f
|
ircd::ctx: Add ctx::running()/waiting() for interface completeness.
|
2018-04-19 21:42:54 -07:00 |
|
Jason Volk
|
3b32d2170e
|
ircd::ctx: Give ctx::ctx the instance_list.
|
2018-04-19 21:42:54 -07:00 |
|
Jason Volk
|
281a9e1cfd
|
ircd::ctx: Place ctx::list node pointers into structure in ctx.
|
2018-04-19 21:42:54 -07:00 |
|
Jason Volk
|
793c24ce9e
|
ircd::ctx: Simplify list iteration API.
|
2018-04-19 14:47:56 -07:00 |
|
Jason Volk
|
c3062e80f1
|
ircd::ctx: Fix bitrot in when_all() template.
|
2018-04-10 20:09:17 -07:00 |
|
Jason Volk
|
8d91c90574
|
ircd::ctx: yield the promise-notifying ctx until any then() has posted.
|
2018-04-07 05:00:55 -07:00 |
|