0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-12-11 08:02:59 +01:00
Commit graph

154 commits

Author SHA1 Message Date
Jason Volk
4a2ad1c186 ircd::ctx: Reorg continuation for core wakeup conditions. 2018-12-07 12:31:30 -08:00
Jason Volk
9eabd745f5 ircd::ctx: Minor cleanup. 2018-12-07 12:03:25 -08:00
Jason Volk
3af70e75c3 ircd::ctx: Minor cleanup / struct packing / type. 2018-12-07 10:13:29 -08:00
Jason Volk
4e01d2c0a4 ircd::ctx: Remove local typedef to use outer ircd:: typedef. 2018-12-07 10:13:14 -08:00
Jason Volk
ce237e0b10 ircd::ctx: Export this_ctx:: to ircd. 2018-12-06 19:16:47 -08:00
Jason Volk
0c4e39b023 ircd::ctx: Relax assertion. 2018-12-05 15:15:36 -08:00
Jason Volk
c74debac01 ircd::ctx: Cleanup / fixes for critical assertion related. 2018-11-29 16:12:33 -08:00
Jason Volk
c891b82ebd ircd::ctx: Relayout members for package. 2018-11-15 18:46:40 -08:00
Jason Volk
48a15e026b ircd::ctx::prof: Convert the settings into conf items. 2018-11-14 18:45:10 -08:00
Jason Volk
9222de0b34 ircd::ctx: Add access to rdtsc through ctx::prof; minor comments. 2018-11-14 16:55:46 -08:00
Jason Volk
fea02ba300 ircd::ctx::latch: Minor rename; add explicit move semantic. 2018-11-13 19:05:16 -08:00
Jason Volk
67e6c63580 ircd::ctx: Add additional shared_mutex timed functionality. 2018-11-13 19:05:16 -08:00
Jason Volk
fe45b08f8a ircd::ctx: Refactor mutexes to reuse ctx::dock for queueing. 2018-11-13 19:05:16 -08:00
Jason Volk
8cbb354c64 ircd::ctx: Fix move assignment semantics. 2018-11-13 19:05:16 -08:00
Jason Volk
bbe676a392 ircd::ctx: Split this_ctx devices into files; minor interface tweaks. 2018-11-11 14:13:37 -08:00
Jason Volk
a91cdeec0c ircd::ctx: Reorg / abstract / deinline promise related. 2018-10-30 12:18:16 -07:00
Jason Volk
3ffb91d0fd ircd::ctx: Deinline to_asio continuation ctor. 2018-10-21 01:09:07 -07:00
Jason Volk
10d59dec9a ircd::ctx::dock: Make notify() an unconditional notify rather than direct jump. 2018-10-21 01:00:41 -07:00
Jason Volk
66a936233a ircd::ctx::queue: Add waiter counter. 2018-10-21 00:44:07 -07:00
Jason Volk
f369af944b ircd::ctx: Remove unused peek. 2018-10-06 22:16:37 -07:00
Jason Volk
d13ed5854b ircd::ctx::queue: Remove exception assertion on pops. 2018-09-19 01:44:13 -07:00
Jason Volk
592ad284f9 ircd::ctx::queue: Simplify pops; universal push. 2018-09-18 23:53:44 -07:00
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