0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-11-06 13:58:56 +01:00
Commit graph

82 commits

Author SHA1 Message Date
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
Jason Volk
2ef5f4c72c ircd::ctx: Rename notify to expose. 2018-03-06 03:50:39 -08:00
Jason Volk
29f08d3615 ircd::ctx: Add functions to peek at the queue size of the mutexes. 2018-03-06 01:09:37 -08:00
Jason Volk
f7223b0688 ircd::ctx: Consolidate view and shared_view with more template. 2018-03-05 05:49:26 -08:00
Jason Volk
d673ce16d4 ircd::ctx: Relax noinline attribute on prof::stack_usage_here() wrapper. 2018-02-20 15:40:40 -08:00
Jason Volk
be624ca7f6 Update Copyrastafaris. 2018-02-05 21:24:34 -08:00
Jason Volk
43923a1cf1 ircd::ctx: Minor formatting. 2018-01-22 00:54:52 -08:00
Jason Volk
78b77f9da8 ircd::ctx: Eliminate the shared_ptr in pool::async; minor cleanup. 2018-01-18 06:05:56 -08:00
Jason Volk
6fc8de8587 ircd::ctx: Enforce semantics in mutex / shared_mutex; assertion related. 2018-01-17 03:33:08 -08:00
Jason Volk
b93b294d7b ircd::ctx: Validate all state access in ctx::promise. 2018-01-17 03:33:08 -08:00
Jason Volk
59e921d453 ircd::ctx: Enforce semantics on ctx::list. 2018-01-17 03:33:08 -08:00
Jason Volk
8366c735b4 ircd::ctx: Add this non-standard finished() observer for now. 2018-01-16 22:54:08 -08:00
Jason Volk
e4b1485db0 ircd::ctx: Specify missing semantics for promise. 2018-01-15 18:00:54 -08:00
Jason Volk
7b62568ff0 ircd::ctx: Replace std::deque's in ctx::mutex and ctx::shared_mutex. 2018-01-13 23:45:36 -08:00
Jason Volk
dcd36f8200 ircd::ctx: Replace the std::deque with a ctx::list for ctx::dock's queue. 2018-01-13 23:45:36 -08:00
Jason Volk
df0e59a5e0 ircd::ctx: Add custom intrinsic list structure for contexts. 2018-01-13 23:45:36 -08:00
Jason Volk
29b135de0a ircd::ctx: Export critical_assertion down to ircd::. 2018-01-11 18:37:08 -08:00
Jason Volk
4fa7ad9286 ircd::ctx: Add use_future_t; minor cleanup. 2018-01-08 12:40:09 -08:00
Jason Volk
0cafcd7b84 ircd::ctx: Update async() with moveable promise. 2018-01-08 12:39:05 -08:00
Jason Volk
c77ee478e5 ircd::ctx: Add custom refcnt to allow copyable promise. 2017-12-29 15:32:08 -07:00
Jason Volk
04ad57965e ircd::ctx: Fix promise move constructions etc. 2017-12-24 21:54:59 -07:00