Jason Volk
ea92976369
ircd::ctx::queue: Add options for FIFO and LIFO strategies to interface.
2023-02-20 20:15:44 -08:00
Jason Volk
e961b23d1e
ircd::ctx::dock: Add options for waiters; support queuing strategies.
2023-02-20 20:15:44 -08:00
Jason Volk
96d5b6fe57
ircd::ctx::list: Add mid-list insertion suite to interface.
2023-02-20 20:15:44 -08:00
Jason Volk
1627986fed
ircd::ctx: Simplify ctx::list abi; tweak hot section.
2023-02-20 18:08:52 -08:00
Jason Volk
c30776fc59
ircd::ctx::pool: Upgrade various opts sites to designated inits; minor inline.
2023-02-19 19:57:14 -08:00
Jason Volk
5a35d63b64
ircd::ctx::dock: Deduplicate prologue/epilogue in wait() suite.
2023-02-19 17:39:32 -08:00
Jason Volk
c784d12318
ircd::ctx: Fix erroneous comment. [ci skip]
2023-02-04 13:20:44 -08:00
Jason Volk
bb3576eaaa
ircd::ctx: Update stack allocator for official support. (boost-1.80)
2023-01-19 19:58:22 -08:00
Jason Volk
c8bb2c8f37
ircd::ctx::queue: Inline linkage for template defs.
2022-09-11 12:43:46 -07:00
Jason Volk
8b6679c5e9
ircd::ctx::dock: Eliminate inlined template complex; optimize linkages.
2022-06-29 18:20:46 -07:00
Jason Volk
5a4a395fc2
Add noexcept to various lambdas (gcc-11).
2022-06-29 14:42:42 -07:00
Jason Volk
5a11c31d97
Revert "ircd: ISO C++ requires template on destructor names out-of-line." (gcc-11/12)
...
This reverts commit e3e3bd7b09
.
Add -Wno-dtor-name to clang warning discovery section.
2022-06-20 17:26:39 -07:00
Jason Volk
e3e3bd7b09
ircd: ISO C++ requires template on destructor names out-of-line.
2022-06-17 21:11:54 -07:00
Jason Volk
f4979e42f9
ircd::ctx: Fix extra semicolons on scope.
2022-06-17 21:11:54 -07:00
Jason Volk
e51b855f2b
ircd: Various symbol surface reductions and sorting.
2022-06-17 21:11:53 -07:00
Jason Volk
cb8362ba51
ircd: Correct/abridge various comments.
2022-06-17 21:11:52 -07:00
Jason Volk
d4e41218b0
ircd::ctx::pool: Simplify notify on work completion.
2021-05-11 20:56:09 -07:00
Jason Volk
d115d88e6c
ircd::ctx: Simplify main thread conditions with tls bit.
2021-03-16 12:58:22 -07:00
Jason Volk
446f319391
ircd::ctx::posix: Trapdoor complex allowing real pthreads to work again.
2021-01-04 01:12:49 -08:00
Jason Volk
e37a775e9b
ircd::ctx::posix: Add interface to toggle hook; split header internal/external.
2021-01-04 01:12:39 -08:00
Danilo Spinella
d8ff6172ef
ircd/ctx/posix.h: Add typedef for __clockid_t to fix build on musl
...
__clockid_t is not POSIX, add it as a typedef to clockid_t, when needed.
2020-12-23 03:56:43 -08:00
Jason Volk
07ec766ff9
ircd::ios: Consolidate dispatch/post/defer interfaces; minor fixes.
2020-12-20 06:02:50 -08:00
Jason Volk
e91c845de5
ircd::ctx: Minor move misplaced comment. [ci skip]
...
ircd:Ⓜ️ :acquire: Remove stale comment. [ci skip]
2020-12-12 18:18:28 -08:00
Jason Volk
fbc3ab87e9
ircd::ctx: Add interface to change name; implement posix handler.
2020-11-13 21:07:14 -08:00
Jason Volk
30796e5729
ircd::buffer: Fix template name conflicts for clang-11; apply inline linkages.
...
ircd::json::tuple: Fix template name related for clang-11.
ircd::ctx: Fix template related for clang-11; inline linkages.
ircd:Ⓜ️ 🪝 Fix template related for clang-11.
2020-10-29 04:06:59 -07:00
Jason Volk
dc388a0f09
ircd::ctx: Use vg::stack registration in stack allocator.
2020-10-16 14:32:06 -07:00
Jason Volk
339e86d2b8
ircd::ctx: Hoist various function static descriptor objects; inline courtesy yield().
2020-10-16 05:19:14 -07:00
Jason Volk
2eb4b84019
ircd::ctx: Add missing shared_state already_t w/ value ctor.
2020-10-15 04:55:38 -07:00
Jason Volk
ad41fb69a9
ircd::ctx: Support user-supplied stacks.
2020-10-14 02:22:45 -07:00
Jason Volk
28eaf63543
ircd::ctx: Convey allocated stack for context to context at entry.
2020-10-14 02:22:45 -07:00
Jason Volk
6c89faee13
ircd::ctx::posix: Enforce noexcept on the full surface.
2020-09-29 16:09:10 -07:00
Jason Volk
669c8d0d0f
ircd::ctx: Remove leaf attribute; use hot section attribute in unit.
2020-08-23 02:32:54 -07:00
Jason Volk
07830f1413
ircd::ctx: Integrate slice cycle counters with ios.
2020-08-21 10:43:04 -07:00
Jason Volk
52013c1ee0
ircd::ctx::list: Reduce out-of-line accessor surface.
2020-07-11 18:51:19 -07:00
Jason Volk
6ec9b2a783
ircd: Specify explicit noexcept for gcc-10 issue.
2020-07-11 17:57:33 -07:00
Jason Volk
cd95b7cd8d
ircd::ctx: Specify inline linkage for various templates to prevent any dynsyms.
2020-07-11 15:41:57 -07:00
Jason Volk
8ffa5c55a5
ircd::ctx::latch: Replace closure w/ simple bind statement.
2020-07-11 14:07:08 -07:00
Jason Volk
505fe310a8
ircd::ctx: Inline various codepaths leading to flags(ctx).
...
ircd::ctx: Inline cheap prof::get() wrappings.
2020-06-18 03:56:09 -07:00
Jason Volk
e938081404
ircd::ctx: Add watchdog log facility.
2020-05-24 17:42:32 -07:00
Jason Volk
ac42d4df13
ircd::ctx: Measure and report epoch span for slice_usage_warning.
2020-05-24 17:14:02 -07:00
Jason Volk
f070e3b706
ircd::ctx: Condition on RB_DEBUG rather than NDEBUG for slice_usage_warning tool.
2020-05-24 17:14:02 -07:00
Jason Volk
9213d31f1d
ircd::ctx: Inline interruptible(ctx, ...) manipulators.
2020-05-19 15:55:18 -07:00
Jason Volk
3c96120e72
ircd::ctx: Add some noexcept; minor comment justification.
2020-05-18 19:57:54 -07:00
Jason Volk
00fe4baa2a
ircd::ctx: Add direct flags reference accessor to interface.
2020-05-18 19:57:54 -07:00
Jason Volk
ce3a57bfce
ircd::ctx::uninterruptible: Add defaulted runtime bool construction.
2020-05-18 18:43:17 -07:00
Jason Volk
b3dbf0cd01
ircd::ctx: Start an interpositionable posix thread interface.
2020-05-04 16:09:39 -07:00
Jason Volk
18f215d3f0
ircd: Move main_thread assertion related to ctx; adjust condition.
2020-05-04 16:09:39 -07:00
Jason Volk
77dc612735
ircd::ctx: Various assertions for current context.
2020-05-04 13:15:45 -07:00
Jason Volk
a776565ce0
ircd::ctx: Fixes and assertions for shared_mutex upgrade lockable semantics.
2020-05-04 13:15:45 -07:00
Jason Volk
926795f01a
ircd::ctx: Use context pointer for mutex/shared_mutex acquisition state.
2020-05-04 13:15:45 -07:00