0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-11-17 23:40:57 +01:00
Commit graph

115 commits

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