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
09c282fd8e
ircd::ctx: Add stack_usage_assertion; move stack_usage_here() into this_ctx::.
2018-04-27 19:09:26 -07:00
Jason Volk
2a7cb42c98
ircd::ctx: Minor ctx object semantic elaboration.
2018-04-20 00:44:45 -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
fb6a4fc6ac
ircd::ctx: Bypass the exception_handler assertion if on bare metal.
2018-04-07 11:08:07 -07:00
Jason Volk
7995c20c50
ircd::ctx::pool: Change dispatching from notify_one() to notify().
2018-04-04 22:54:58 -07:00
Jason Volk
f07eed2ab9
ircd::ctx: Relax the assertion for uncaught exceptions on context switch.
2018-03-28 14:11:33 -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
7dbfb061e9
ircd::ctx: Assert no yielding during exception handling due to ABI limitations.
2018-03-24 15:53:15 -07:00
Jason Volk
db8810e397
ircd::ctx: Integrate custom interruption action.
2018-03-23 22:17:10 -07:00
Jason Volk
4211671698
ircd::ctx: Reason about exception propagation at stack base; minor cleanup.
2018-03-16 21:42:22 -07:00
Jason Volk
3810b8d57f
ircd: Various exception assertions; minor cleanup.
2018-03-15 22:25:16 -07:00
Jason Volk
a48426e25d
ircd/modules: Migrate some log messages to new facilities.
2018-03-15 22:25:16 -07:00
Jason Volk
f7ecc4342b
ircd::ctx: Avoid any alloc for current reassertion on spawn.
2018-03-12 15:44:55 -07:00
Jason Volk
353ee9b80d
ircd::ctx: Spawn OLE thread lazily.
2018-02-07 12:16:17 -08:00
Jason Volk
230eb3fc7a
ircd::ctx::prof: Consistent warning message strings.
2018-02-05 21:24:36 -08:00
Jason Volk
69427d7e43
ircd::ctx: Enable ctx::prof on debug builds only.
2018-02-05 21:24:35 -08:00
Jason Volk
3ba527079b
ircd::ctx: Sample rdtsc to complement profile warning output.
2018-02-05 21:24:35 -08:00
Jason Volk
be624ca7f6
Update Copyrastafaris.
2018-02-05 21:24:34 -08:00
Jason Volk
fd2a7974e8
ircd: Minor cleanup; comments; spacing.
2018-01-26 19:27:12 -08:00
Jason Volk
8f3483391e
ircd: Minor log suppressions via comment.
2018-01-17 21:38:17 -08:00
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