0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-07-02 16:58:19 +02:00
Commit graph

190 commits

Author SHA1 Message Date
Jason Volk df0e59a5e0 ircd::ctx: Add custom intrinsic list structure for contexts. 2018-01-13 23:45:36 -08:00
Jason Volk 1ddf0f546a ircd: Update various comments / documentation. 2017-12-12 14:59:40 -07:00
Jason Volk ae289de529 ircd::ctx: Improve the pool counters. 2017-11-30 11:23:46 -08:00
Jason Volk c16a6e8baa ircd::ctx: Adjust prof defaults; minor cleanup. 2017-11-30 11:23:43 -08:00
Jason Volk 99e431c8da ircd::ctx: Further fix and clarify the POST/DETACH leak potential. 2017-11-30 11:23:42 -08:00
Jason Volk 26800d5db4 ircd::ctx: Improve the spawn sequence to avoid complications. 2017-11-30 11:23:42 -08:00
Jason Volk 32e0d3c5df ircd::ctx: Improve spawning; fix bug. 2017-11-30 11:23:41 -08:00
Jason Volk c157967559 irct::ctx: Add this basic pool debug. 2017-10-19 00:58:43 -07:00
Jason Volk 124f7ea12a ircd::ctx: Add utils for getting this_ctxt name and id; truncate default name literal. 2017-10-15 21:12:58 -07:00
Jason Volk e3963da007 ircd: Various comments added/modified. 2017-10-11 18:18:20 -07:00
Jason Volk eb56befef0 ircd: Improve thread id related; add public functions to post to ios. 2017-10-11 18:18:19 -07:00
Jason Volk 19451ab914 ircd::ctx: shared_mutex; peek / view / shared_view; fixes. 2017-10-03 04:17:10 -07:00
Jason Volk c4a6addd5a ircd::ctx: Add critical_assertion debugging tool. 2017-10-03 04:17:08 -07:00
Jason Volk b309793ed0 ircd::ctx: Add some docs; minor cleanup. 2017-10-03 04:17:07 -07:00
Jason Volk b207b9e909 ircd: Rename ircd::scope to ircd::unwind. 2017-09-24 18:16:41 -07:00
Jason Volk 7f548cee1c ircd: Make asio header; comments; add special continuation for yielding to asio. 2017-09-24 18:16:39 -07:00
Jason Volk 1acd278632 ircd::ctx: Updates; add ctx::view; add preliminary ctx::fault; various reorg. 2017-09-24 18:16:38 -07:00
Jason Volk 6cd58b0d6a ircd: Update various comments / minor cleanup. 2017-09-24 18:16:32 -07:00
Jason Volk f98be1582d ircd::ctx: Expose stack usage functions to user. 2017-09-08 03:47:50 -07:00
Jason Volk d9a4f06bf6 ircd: Employ namespace scope extensions from c++1z/gnu++14.
This is not a move to c++17. If the compiler happens to have support
for c++17 namespace scope resolution, they have been kind enough to
backport it to gnu++14. This limits our support for really old c++14
compilers, but that was limited anyway. GCC 6.1 and clang 3.6 tested.
2017-09-08 03:47:46 -07:00
Jason Volk b6d51b89dd ircd::ctx: Patch issues with direct jump. 2017-08-23 15:52:15 -06:00
Jason Volk a880e2e43e ircd::ctx: Add minor commentary. 2017-08-23 14:59:27 -06:00
Jason Volk b579d7dfc3 ircd::ctx: Add strand()/notify() with threadsafe_t. 2017-04-02 20:52:30 -07:00
Jason Volk e4f258314a fixup! ircd::ctx: Fixes for the thread-unsafety of asio::steady_timer. 2017-03-30 21:14:59 -07:00
Jason Volk 33b2cd8f70 ircd::ctx: Fixes for the thread-unsafety of asio::steady_timer. 2017-03-30 16:04:19 -07:00
Jason Volk c604b391be ircd::ctx: Support direct context switching without enqueueing with ios. 2017-03-30 16:04:19 -07:00
Jason Volk d9521c4dc0 ircd::ctx: Fix bug where interrupts are lost before context spawns. 2017-03-30 16:04:19 -07:00
Jason Volk 31dd925b17 ircd::ctx: Mark the profiling leave time directly after the user finishes. 2017-03-30 16:04:19 -07:00
Jason Volk adf408d4b0 ircd::ctx: Tweak default profiling values; fix fmt:: specifier. 2017-03-20 00:01:42 -07:00
Jason Volk b592b69b86 What is the Matrix? Control. 2017-03-10 17:51:18 -08:00
Jason Volk 859f464698 ircd::ctx: Set the SELF_DESTRUCT flag on context::detach(). 2016-11-13 16:32:37 -08:00
Jason Volk 2f645941a8 ircd::ctx: Move ctx headers into directory. 2016-11-13 16:29:45 -08:00
Jason Volk e6c8025ae0 ircd::ctx: Add yield() allowing other contexts to run before returning. 2016-11-13 16:29:45 -08:00
Jason Volk bbd73746c3 ircd::ctx: Abstract the db::work subsystem into ctx::ole OffLoad Engine (OLE). 2016-09-27 17:28:24 -07:00
Jason Volk 2251595551 ircd::ctx: Add preliminary profiling system to mitigate silent degradation.
This system alerts the developer when something blocks a context from yielding
for too long or exceeds stack usage limits. More profiling can be added for
further optimization.
2016-09-27 17:27:48 -07:00
Jason Volk f7f9d87df0 ircd::ctx: Add context pool. 2016-09-23 00:01:00 -07:00
Jason Volk e2d115a97a ircd::ctx: Add sleep() suite, or a wait() which ignores notification. 2016-09-22 16:18:32 -07:00
Jason Volk 89c2e74f3b ircd::ctx: Improve context interface. 2016-09-21 16:29:26 -07:00
Jason Volk d2bb8cd8a7 ircd::ctx: Add primary features to context. 2016-09-21 16:28:49 -07:00
Jason Volk 249ba02faa Introduce userspace contexts. 2016-09-09 16:17:36 -07:00