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 |
|
Jason Volk
|
b0c687ea0e
|
ircd::ctx: Assertions for calling then().
|
2018-04-07 05:00:54 -07:00 |
|
Jason Volk
|
8d0681e7b1
|
ircd::ctx: Eliminate the std future_status and simplify our real-use interfaces.
|
2018-04-05 22:16:32 -07:00 |
|
Jason Volk
|
4760d36847
|
ircd::ctx: Move unlock_guard from util:: to ctx::.
|
2018-03-28 22:17:09 -07:00 |
|
Jason Volk
|
543a1988b9
|
ircd::ctx: Candidate fixes for view sequencing.
|
2018-03-27 21:44:01 -07:00 |
|
Jason Volk
|
8f9caa33c3
|
ircd::ctx: Conclude the best name for function after deliberation.
|
2018-03-27 00:52:02 -07:00 |
|
Jason Volk
|
5b91cbdca1
|
ircd::ctx: Add share counter observer to shared_mutex.
|
2018-03-26 23:29:58 -07:00 |
|
Jason Volk
|
807f3c4545
|
ircd::ctx: view::wait_until() needs to throw on timeout.
|
2018-03-26 23:29:58 -07:00 |
|
Jason Volk
|
26b33a1845
|
ircd::ctx: Remove the cv_status enum.
|
2018-03-26 23:29:58 -07:00 |
|
Jason Volk
|
c6b9c06302
|
ircd::ctx: Avoid any possible ambiguities with location of *current.
|
2018-03-26 23:29:57 -07:00 |
|
Jason Volk
|
a2eb756548
|
ircd::ctx: Split this_ctx:: from ctx.h; minor reorg.
|
2018-03-25 02:04:42 -07:00 |
|
Jason Volk
|
441a692dfc
|
ircd::ctx: Device to allow context switching in exception handler.
|
2018-03-24 18:00:04 -07:00 |
|
Jason Volk
|
4ac88356d9
|
ircd::ctx: Ignore strict aliasing for hacks we never dereference.
|
2018-03-23 23:11:03 -07:00 |
|
Jason Volk
|
db8810e397
|
ircd::ctx: Integrate custom interruption action.
|
2018-03-23 22:17:10 -07:00 |
|
Jason Volk
|
12e5a3ccea
|
ircd::ctx: Update stale comment.
|
2018-03-22 22:27:12 -07:00 |
|
Jason Volk
|
3810b8d57f
|
ircd: Various exception assertions; minor cleanup.
|
2018-03-15 22:25:16 -07:00 |
|
Jason Volk
|
fbcc64fbbd
|
ircd::ctx: Atomize the dock notification and the then callback during promise notify().
|
2018-03-15 13:16:28 -07:00 |
|
Jason Volk
|
fbb9cf0196
|
ircd::ctx: Cleanup/improve the shared_state states.
|
2018-03-15 11:59:25 -07:00 |
|
Jason Volk
|
da5bca588d
|
ircd::ctx: Have future inherit from the shared_state rather than class member.
|
2018-03-14 13:16:06 -07:00 |
|
Jason Volk
|
465e0f526c
|
ircd::ctx: Move when_any()/when_all() into file.
|
2018-03-14 11:25:53 -07:00 |
|
Jason Volk
|
3242c1929b
|
ircd::ctx: Cleanup future when suite related.
|
2018-03-11 14:51:14 -07:00 |
|
Jason Volk
|
d906025c28
|
ircd::ctx: Replace missed old copyright.
|
2018-03-11 13:54:51 -07:00 |
|
Jason Volk
|
ee48df71a8
|
ircd::ctx: Add future<void> already-ready constructor.
|
2018-03-11 13:40:24 -07:00 |
|
Jason Volk
|
a2be4d3ee5
|
ircd::ctx: Add when_any() / when_all().
|
2018-03-10 23:04:59 -08:00 |
|
Jason Volk
|
07c1356dae
|
ircd::ctx: Improve promise / future behaviors; cleanup.
|
2018-03-10 23:04:59 -08:00 |
|
Jason Volk
|
30700b2ad8
|
ircd::ctx: Support future continuation.
|
2018-03-10 23:04:59 -08:00 |
|
Jason Volk
|
00ba8ebdb4
|
ircd::ctx: Factor shared_ptr out of promise/future.
|
2018-03-10 23:04:58 -08:00 |
|
Jason Volk
|
4fa33bdc60
|
Revert "ircd::ctx: Add nodejs-style future::then() rather than libstd experimental TS."
This reverts commit 37569559cf .
|
2018-03-09 19:41:16 -08:00 |
|
Jason Volk
|
37569559cf
|
ircd::ctx: Add nodejs-style future::then() rather than libstd experimental TS.
|
2018-03-07 09:13:55 -08:00 |
|
Jason Volk
|
6d0c74a064
|
ircd::ctx: Remove the promise/state reset(): should expect assignment instead.
|
2018-03-07 09:07:13 -08:00 |
|
Jason Volk
|
bc184b4d52
|
ircd::ctx: Have futures throw timeout exceptions by default; add nothrows.
|
2018-03-07 08:17:50 -08:00 |
|